Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/442.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使脚本在每次页面加载时运行一次_Javascript_Scroll_Popup_Window - Fatal编程技术网

Javascript 使脚本在每次页面加载时运行一次

Javascript 使脚本在每次页面加载时运行一次,javascript,scroll,popup,window,Javascript,Scroll,Popup,Window,我如何使下面的,只运行一次每页面加载 $(window).scroll(function(){ if($(document).scrollTop()>=$(document).height()/5) $("#spopup").show("slow");else $("#spopup").hide("slow"); }); 下面是我用来关闭弹出窗口的方法,以防出现不一样的情况 function closeSPopup(){ $('#spopup').hide

我如何使下面的,只运行一次每页面加载

$(window).scroll(function(){
    if($(document).scrollTop()>=$(document).height()/5)
        $("#spopup").show("slow");else $("#spopup").hide("slow");
});
下面是我用来关闭弹出窗口的方法,以防出现不一样的情况

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

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


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

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

第一次滚动时,它将执行该功能(基于您的if/else),完成该操作后,它将清除链接到滚动上的javascript。有很多方法可以做到这一点。我认为设置一面旗帜是可行的:

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

也许这样做会有帮助?谢谢,但是这个例子根本没有启动脚本。谢谢Peter,但不幸的是弹出窗口仍然存在