2 回答
TA贡献1864条经验 获得超2个赞
您需要在加载时隐藏它并在单击时隐藏它
CSS
.hide { display:none }
脚本:
var but = document.getElementById("#buttonID");
// sets class onload if localStorage is set
but.classList.toggle("hide",localStorage.getItem("subscribed") != null);
but.addEventListener("click",function() {
localStorage.setItem("subscribed","yes")
but.classList.add("hide");
})
TA贡献1891条经验 获得超3个赞
至于安全原因,:visted伪不支持该display:none属性。对此的粗略答案是使用JQUERY并检查用户是否已经访问过,然后将类添加到其中,并且该类具有display:none以下工作解决方案的属性:
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<a href="http:/youtube.com">Subscribe Now</a>
查询:
$( document ).ready(function() {
$("a").on('click', function(){
var $this = $(this);
localStorage.setItem($this.attr('href'), true);
$this.addClass('visited');
});
$("a").each(function(index, elem){
var item = $(elem);
if (localStorage.getItem(item.attr('href'))){
item.addClass('visited');
}
});
});
CSS:
.visited{
display:none;
}
添加回答
举报