Как вывести всплывающее окно при скроле только один раз?

Есть скрипт который выводит всплывающее окно при скроле страницы и есть кнопка чтобы это окно можно было закрыть.

<script type="text/javascript">
$(document).ready(function(){
    $(window).scroll(function(){
        if($(window).scrollTop()>120){
            $('#top').fadeIn(900)
        }else{
            $('#top').fadeOut(700)
        }
    });
});
</script>


Проблема в том, что после закрытия и дальнейшего скролла окно появляется снова, подскажите как реализовать работу этого скрипта только один раз за посещение страницы. Нашел инфу, что можно сделать через метод .one(), попробовал сам, но не получилось. Надеюсь на вашу помощь )
  • Вопрос задан
  • 229 просмотров
Решения вопроса 1
Minifets
@Minifets
Hello world!!!
Добавьте на кнопку закрытия pop-up след. код.

$(window).off('scroll');

И если у вас есть еще другие события на scroll, то нужно сделать след.

function myScrollFunction(){
        if($(window).scrollTop()>120){
            $('#top').fadeIn(900)
        }else{
            $('#top').fadeOut(700)
        }
    }

/////

$(window).scroll(myScrollFunction);

////

$(window).off('scroll', myScrollFunction);
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Dasslier
FrontEnd Developer
Поработай с localStorage. Запиши туда свойство при показе модалки, если свойство уже есть - ничего не делать, если нет - показать модалку. Читать тут клик
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы