关于Jquery/js滚动条和页面元素位置的问题

a5692408b 2013-03-09 06:33:19
当我的滚动条滚到某一个元素的时候触发我的事件,类似于微博的自动加载

网上大多数滚到2/3时触发。这个我懂。 我现在是滚到精确的位置 类似于滚动到一个div某个高度,我就自动加载,加载完,滚动条继续滚动,当到这个位置再一次触发
下面有我的代码
var isLoad = true;
$(window).scroll(function(){
if($("#Loading").length>0){
var totalheight = parseFloat($(window).height()) + parseFloat($(window).scrollTop());
var divHeight = $("#Loading").height();
var loadOffset = $("#Loading").offset().top;
var scrlolHeight = loadOffset+divHeight;

if(scrlolHeight=totalheight){
if(isLoad){
isLoad = false;
$("#Loading a").html("加载中......");
setTimeout("showLoad()", 2000);
}
}
}
});

但是有问题,就是loadOffset位置一直变,导致相等好多次,这个代码肯定有问题,大家有例子吗?或者告诉我一下,谢谢
...全文
177 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
蜀南真人 2013-03-09
  • 打赏
  • 举报
回复
引用 2 楼 Mackz 的回复:
所以你知道为什么“网上大多数滚到2/3时触发”而不是“滚到精确的位置”了么?你加载页面之后滚动条的位置当然改变了。 另外不理解你为什么用setTimeout而不是回调函数去提示加载成功?万一过了两秒还没加载完成不是成了笑话了么。
+1
a5692408b 2013-03-09
  • 打赏
  • 举报
回复
难道就没有精确定位的吗
bbjbepzz 2013-03-09
  • 打赏
  • 举报
回复
声明一个全局变量clock if(scrlolHeight==totalheight){ if(isLoad){ clearTimeout(clock); isLoad = false; $("#Loading a").html("加载中......"); clock = setTimeout("showLoad()", 2000); } }
bbjbepzz 2013-03-09
  • 打赏
  • 举报
回复
是不是少了个等号? if(scrlolHeight==totalheight){
菜牛 2013-03-09
  • 打赏
  • 举报
回复
所以你知道为什么“网上大多数滚到2/3时触发”而不是“滚到精确的位置”了么?你加载页面之后滚动条的位置当然改变了。 另外不理解你为什么用setTimeout而不是回调函数去提示加载成功?万一过了两秒还没加载完成不是成了笑话了么。
a5692408b 2013-03-09
  • 打赏
  • 举报
回复
导致 触发 showLoad 方法好多次,导致我页面出问题,大家有其他的例子可以发给我

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧