Jquery 仅允许load()在滚动上触发一次
我知道这里关于如何使用Jquery 仅允许load()在滚动上触发一次,jquery,Jquery,我知道这里关于如何使用的帖子只有上百万篇。一篇,但我在jquery方面的技术还不够熟练,无法掌握我要做的事情,我相信这会让我变得复杂,远远超出我应该做的事情 我正在使用jQuery插件检查特定的div是否在屏幕上可见 $(document).scroll(function() { if($("#showBlogs").is(':onScreen')) { $("#showMoreBlogs").show().load("path/to/file.php"); }
的帖子只有上百万篇。一篇
,但我在jquery方面的技术还不够熟练,无法掌握我要做的事情,我相信这会让我变得复杂,远远超出我应该做的事情
我正在使用jQuery插件检查特定的div
是否在屏幕上可见
$(document).scroll(function() {
if($("#showBlogs").is(':onScreen')) {
$("#showMoreBlogs").show().load("path/to/file.php");
}
});
我的html代码是这样的:
<div id="showBlogs" style="display:none"></div>
这确实有效,但每次通过鼠标或向下箭头键向下滚动页面时,load()
当然会在div位于视图内时再次触发,但显然让它每次重新加载都不好
现在我知道这个函数是存在的,但我只是不想把这两个东西结合起来
如何使用is(“:屏幕上”)
滚动以使用.one(函数)
??这就是让我困惑的地方。试试:
$(文档)。一(“滚动”,函数(){
if($(“#showBlogs”).is(“:屏幕上”){
$(“#showMoreBlogs”).load(“path/to/file.php”);
}
} );代码>
让我知道它是否有效。:-) 试试看:
$(文档)。一(“滚动”,函数(){
if($(“#showBlogs”).is(“:屏幕上”){
$(“#showMoreBlogs”).load(“path/to/file.php”);
}
} );代码>
让我知道它是否有效。:-) 您设置的方式。。。只需添加几行代码就更容易了:
$(document).scroll(function(event) {
if($("#showBlogs").is(':onScreen')) {
$("#showMoreBlogs").show().load("path/to/file.php");
$(this).off(event);
}
});
你设置的方式。。。只需添加几行代码就更容易了:
$(document).scroll(function(event) {
if($("#showBlogs").is(':onScreen')) {
$("#showMoreBlogs").show().load("path/to/file.php");
$(this).off(event);
}
});
jQueryAPI说$(“#foo”).one(“单击”,function(){alert(“这将只显示一次”);});相当于$(“#foo”).on(“单击”,函数(事件){alert(“这将只显示一次”);$(This.off(事件);});因此建议使用OPs。一个是正确的,您正在添加不必要的行。此方法似乎在初始滚动到视图时加载文件,而不是在任何其他滚动时重新加载。您实际上不需要self
变量,因为此
将在if语句中工作,但除此之外,解除绑定处理程序是一种方法+1.jQueryAPI表示$(“#foo”).one(“单击”,function(){alert(“这将只显示一次”);});相当于$(“#foo”).on(“单击”,函数(事件){alert(“这将只显示一次”);$(This.off(事件);});因此建议使用OPs。一个是正确的,您正在添加不必要的行。此方法似乎在初始滚动到视图时加载文件,而不是在任何其他滚动时重新加载。您实际上不需要self
变量,因为此
将在if语句中工作,但除此之外,解除绑定处理程序是一种方法+1.这在加载文件时确实有效,但每次滚动时都会触发。请尝试编辑的版本。有个打字错误。当页面滚动时,此功能仅启动一次。以后再也不会了。那我不知道为什么它会在每一个卷轴上燃烧$一个(“滚动”,函数(){alert('hi');});仅为我触发一次。仅当第一次滚动事件恰好将特定div放入视图时,使用.one()
此功能才有效-您不能指望它。@nnnnnn--因此,您在这里得到的是什么,让我确保我理解您的意思,就是我第一次滚动鼠标时,它启动了.is
检查,但此后每次鼠标滚动都没有进行检查,因为.one
已经完成了“一次”,这就是她写的全部内容。基本上正确吗?这在加载文件时确实有效,但它在每个卷轴上都会持续启动。请尝试编辑的版本。有个打字错误。当页面滚动时,此功能仅启动一次。以后再也不会了。那我不知道为什么它会在每一个卷轴上燃烧$一个(“滚动”,函数(){alert('hi');});仅为我触发一次。仅当第一次滚动事件恰好将特定div放入视图时,使用.one()
此功能才有效-您不能指望它。@nnnnnn--因此,您在这里得到的是什么,让我确保我理解您的意思,就是我第一次滚动鼠标时,它启动了.is
检查,但此后每次鼠标滚动都没有进行检查,因为.one
已经完成了“一次”,这就是她写的全部内容。基本上是对的?