使每个页面加载脚本运行一次

时间:2017-01-27 00:26:15

标签: javascript scroll popup window

如何制作以下内容,每页加载仅运行一次...

$(window).scroll(function(){
    if($(document).scrollTop()>=$(document).height()/5)
        $("#spopup").show("slow");else $("#spopup").hide("slow");
});

以下是我用来关闭弹出窗口的情况,以防有所作为......

function closeSPopup(){
    $('#spopup').hide('slow');
}

http://codepen.io/john84/pen/vgWVRp

我正在阅读.one()函数,但我不确定将它放在哪里

http://api.jquery.com/one/

2 个答案:

答案 0 :(得分:0)

在函数调用结束时,重新定义函数。

$(window).scroll(function(){
  if($(document).scrollTop()>=$(document).height()/5)
    $("#spopup").show("slow");else $("#spopup").hide("slow");
  $(window).scroll(function(){});
});

第一次滚动时,它会执行该功能(基于你的if / else),在完成该动作后,它会清除链接到滚动的javascript

答案 1 :(得分:0)

有很多方法可以做到这一点。我认为设置一个标志会起作用:

var isopen = false;
$(window).on('scroll', function(){
    if($(document).scrollTop() >= $(document).height()/5 && isopen == false) {
        $("#spopup").show("slow");
        isopen = true;
        $(window).off('scroll');
    }
});