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

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

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


Проблема в том, что после закрытия и дальнейшего скролла окно появляется снова, подскажите как реализовать работу этого скрипта только один раз за посещение страницы. Нашел инфу, что можно сделать через метод .one(), попробовал сам, но не получилось. Надеюсь на вашу помощь )
  • Вопрос задан
  • 241 просмотр
Решения вопроса 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. Запиши туда свойство при показе модалки, если свойство уже есть - ничего не делать, если нет - показать модалку. Читать тут клик
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
summer Ярославль
от 100 000 до 140 000 ₽
КРАФТТЕК Санкт-Петербург
от 60 000 до 80 000 ₽
19 апр. 2024, в 20:43
20000 руб./за проект
19 апр. 2024, в 20:11
500 руб./за проект