【问题标题】:How to make a button not clickable or hide once pressed如何使按钮在按下后不可点击或隐藏
【发布时间】:2019-11-01 23:00:33
【问题描述】:

访问者订阅并选择页面后,或者进入后天,订阅按钮我不想给他看,因为他已经订阅了

【问题讨论】:

  • 你能告诉我们some or your code吗?
  • 我使用一个带有链接的按钮来订阅 YouTube 频道,当按下它时它会将其带到 YouTube

标签: javascript css button cookies


【解决方案1】:

您需要在加载时隐藏它并在点击时隐藏它

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);
  • 对不起,先生,我的错误只是在测试中添加了最后一点。祝你在 100k 旅程中好运
【解决方案2】:

出于安全原因,: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;
  }

【讨论】:

  • 带有 的封闭 jquery 标签
  • OP 没有用 jQuery 标记问题。此外,单击它并重新加载页面后,您在哪里隐藏它。此外,您的代码将导致页面上的所有链接都将受到影响
  • 刚刚添加了新的检查方法以及页面重新加载时
  • 您的代码仍然会隐藏以及页面上点击的所有链接
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-19
  • 1970-01-01
  • 2014-01-16
  • 1970-01-01
相关资源
最近更新 更多