我有一个有很多图像的页面。如果用户尚未向下滚动到图像所在的位置,则让浏览器将它们全部加载是没有意义的。我想将 img
元素绑定到一个事件处理程序,该处理程序在包含div
可见时触发(从某种意义上说,用户已经滚动了足够多,使得元素位于视口中)。然后,此处理程序将重写 src
属性并加载图像。
我正在寻找什么活动?
没有原生的jQuery事件做你想做的事。您需要使用 scroll
事件来获取滚动位置、获取可见图像并加载它们。
已经有插件为您执行此操作。也许出现的jQuery插件就是你要找的:http://code.google.com/p/jquery-appear/
这可能是这个问题的重复:当图像进入浏览器的可见部分时,让图像加载?
$(window).scroll(function(){
// if user has scrolled to 250px
if ($(this).scrollTop() > 250){
// load your images,
}
})
更好的方法是在底部放置一个div
,并使用mouseenter
事件来检测用户是否需要更多图片。
$('#the_bottom_div').mouseenter(function(){
// If user has placed mouse on bottom,load images (like facebook does)
})