手机上下拉刷新效果

类似新浪微博滚动到底部就ajax加载数据附加在后面,加载数据已经写好了,怎么判断到哪个位置加载?

$(document).scroll(function(){
    if ($(document).scrollTop() >= 100) {
    //ajax fetch
    }
});

没效果?

阅读 20.5k
4 个回答

页面最底下放个标记,计算这个标记的offsetTop跟scrollTop + windowHeight之间的关系,前者换成bodyHeight也可以,不过body不要设成height100%,那就是windowHeight了。

判断元素是否滑到底部明显应该使用 getBoundingClientRect 方法获取 bottom 然后比较下是否小于等于viewport的高度就行了

var vh = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);
if (el.getBoundingClientRect().bottom <= vh) {
    //do something
}

桌面浏览器滚动元素一般是body,但是手机上面因为可能一般会有固定的导航栏,或者使用iscroll之类的技术,所以不能把body设为滚动。

你这个叫下拉加载才对,下拉刷新是这样的:http://chemzqm.github.io/pull-to-refresh/(手机访问才有效果)

新手上路,请多包涵
<script type="text/javascript"> window.onscroll=function() { if ($(document).scrollTop() >= $(document).height() - $(window).height()){ $("#fanye").trigger("click"); } } </script>

判断到底部执行ID为fanye的加载连接,这个加载连接是AXAJ提交

github 上面找weui-plus有这个

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题