Как сделать, чтобы кнопка не нажималась или скрывалась после нажатия - PullRequest
1 голос
/ 01 ноября 2019

После того, как посетитель подписывается и выбирает страницу, или входит на следующий день, кнопку подписки я не хочу показывать ему, потому что он уже подписан

Ответы [ 2 ]

1 голос
/ 01 ноября 2019

Вам нужно спрятать его при загрузке и спрятать его при клике

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");
})
0 голосов
/ 01 ноября 2019

Что касается соображений безопасности, псевдо :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>

JQUERY:

$( 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;
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...