jquery 怎么判断 某个div 是否进入可视区域,或者是滚动条拖拽到某个位置时,出发某个事件!

蝶舞and飘雪
我就是想像lazyload那样,lazyloading是滚动条到某个位置时显示图片,将图片路径放入src属性中,我想要的效果就是,滚动条拖动时,某个div进入浏览器可视区域,之后触发某个事件。

根据div的top和滚动条top判断,参照lazyload做了个demo如下
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script language="javascript" src="/js/jquery-1.4.4.js" type="text/javascript"></script>
<script language="javascript" type="text/javascript">
<!--//
$(document).ready(function(){
$(window).bind("scroll", function(event){
$("div").each(function(){
var fold = $(window).height() + $(window).scrollTop();
if( fold <= $(this).offset().top){
$(this).trigger("appear");
}
});
});

$("div").each(function(){
if( $(window).height() > $(this).offset().top){
$(this).html("出现在可视区域");
}
$(this).one("appear",function(){
$(this).html("出现在可视区域");
});
});
});
//-->
</script>
</head>

<body>
<div>111</div>
<div>1111</div>
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<div showed = "N">111111111111</div>
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />

<div showed = "N">111111111111</div>
</body>
</html>
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-01-04
获取滚动条的当前位置,这个通常是用来加载图片用的,也就是在不在显示区域(或者离显示区域一定距离外)图片不在载。本回答被网友采纳
第2个回答  2011-01-04
你想干啥 我觉的可以根据鼠标的位置来 试试

jquery 怎么判断 某个div 是否进入可视区域,或者是滚动条拖拽到某个...
("div").each(function(){ if( $(window).height() > $(this).offset().top){ (this).html("出现在可视区域");} (this).one("appear",function(){ (this).html("出现在可视区域");});});});\/\/--> <\/script> <\/head> <body> <div>111<\/div> <div>1111<\/div> <br \/>...

jquery 怎么判断 某个div 是否进入可视区域,或者
根据div的top和滚动条top判断,参照lazyload做了个demo如下 无标题文档 111 1111 111111111111 111111111111jquery 怎么判断 某个div 是否进入可视区域,或者

jquery怎么判断滚动条滚到页面底部并执行事件
1、判断滚动条滚动到最底端:scrollTop == (offsetHeight – clientHeight)2、在滚动条距离底端50px以内:(offsetHeight – clientHeight) – scrollTop <= 50 3、在滚动条距离底端5%以内:scrollTop \/ (offsetHeight – clientHeight) >= 0.95 如上。如果要实现拉到底部自动加载内容。只要注册个...

js或者jquery 能不能判断网页内容是否在当前窗口显示
3、计算当前网页显示区域的结算点:网页宽高分别加上滚动条滚动的宽高得到结束点 4、计算当前网页显示区域的起始点:就是网页滚动条的滚动值 5、得到指定dom的位置:$("#div").offset()得到dom的位置起始点 6、得到指定dom的宽高:$("#div").width(),$("#div").height()7、然后判断指定dom的位...

jquery如何获取div位置jquery获取元素位置
1、首先,打开html编辑器,新建html文件,例如:index.html,并引入jquery。2、在index.html中的script>标签,输入jquery代码:$('body').append($('pa').text());。3、浏览器运行index.html页面,此时成功获取了指定p中的a标签并打印了其文本。如何通过JQuery将DIV的滚动条滚动到指定的位置?("#p...

jquery怎么取到当前div中滚动条的位置
可以将DIV的滚动条滚动到其子元素所在的位置,方便自动定位。var container = $('div'),scrollTo = $('#row_8');container.scrollTop(scrollTo.offset().top - container.offset().top + container.scrollTop());\/\/ Or you can animate the scrolling:container.animate({ scrollTop: scrollTo...

网页中如何让DIV在网页滚动到特定位置时出现
用js或者jquery比较好实现。但你要知道,滚动到哪个特定位置,例如滚动到一个标题h3那显示这个div,那么可以用jquery算这个h3距离网页顶部的距离:$("h3").offset().top,这个值有了后,还要算滚动条的距离$(this).scrollTop()。第一个值是不会吧的,主要是第二个值是不断在变,所以要写到滚动...

jquery 怎么判断某个元素是否有滚动条
先获取现当前这个元素的宽和高,再获取外部的宽和高,若是内部大于外部,并且外部元素overflow:hidden 则说明有滚动条

设置div滚动条滚动到指定位置?
如何通过JQuery将DIV的滚动条滚动到指定的位置1、假设首先有一个div,内容区域超出了这个div,出现了竖向滚动条 2、$('div').scrollTop(number);\/\/用jquery的scrollTop方法,传入的参数是你想设置的滚动条滚动的距离,也就是滚动条距离顶部的距离,就可以了。3、如果是想有动画,那可以用jquery的...

如何让jquery动画效果在屏幕滚动到指定位置才执行
3、在css标签内,定义div的样式,设置其宽度为100px,高度为2000px,背景颜色为粉红色。4、在js标签内,使用scroll()方法监听页面的滚动条,并执行function方法。5、在function方法内,使用if语句判断,当前滚动的位置(scrollTop())是否到达页面的底部($(document).height()-$(window).height()),...

相似回答