【发布时间】:2019-11-01 23:00:33
【问题描述】:
访问者订阅并选择页面后,或者进入后天,订阅按钮我不想给他看,因为他已经订阅了
【问题讨论】:
-
你能告诉我们some or your code吗?
-
我使用一个带有链接的按钮来订阅 YouTube 频道,当按下它时它会将其带到 YouTube
标签: javascript css button cookies
访问者订阅并选择页面后,或者进入后天,订阅按钮我不想给他看,因为他已经订阅了
【问题讨论】:
标签: javascript css button cookies
您需要在加载时隐藏它并在点击时隐藏它
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");
})
【讨论】:
but.classList.toggle("hide",localStorage.getItem("subscribed") != null);
出于安全原因,: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;
}
【讨论】: