jQuery实现无限往下滚动效果代码


Posted in Javascript onApril 16, 2016

本文实例讲述了jQuery实现无限往下滚动效果的方法。分享给大家供大家参考,具体如下:

这是仿照腾讯的微薄上的一个效果。滚动条可以无限的网下滚动并且无刷不断从数据库中获取新的数据。

<style type="text/css">
body{ font-family: "Trebuchet MS",verdana,arial;}
#loading{ display:none; font-weight:bold;color:#FF0000;}
p { padding:10px;}
</style>
<p id="loading">loading data... </p>
$(function(){
   var isOK=true;//记录上次访问是否已经结束,如果ajax也有线程就好了
   var scrollH=0;//判断是往上滚还是往下滚
   var intI=1;
  // loading层是固定在页脚的记录牌
   $(".loading").css({"right":"2","bottom":0});
   $(".loading")
   .ajaxStart(function(){
    isOK=false;//执行ajax的时候把isOK设置成false防止第一次没有执行完的情况下执行第二次易出错
    $("#loading2").show();
     })
   .ajaxStop(function(){
     isOK=true;
     $("#loading2").hide();
     })
  $(window).scroll(function(){
   //控制load层
   document.getElementByIdx_x_x("loading").style.top=document.documentElement.scrollTop+"px";
    //触法ajax条件 可以换算成百分比更好
  if($(document).height()-$(window).scrollTop()-document.documentElement.clientHeight<240){
   //当前位置比上次的小就是往上滚动不要执行ajax代码块
   if(scrollH>document.documentElement.scrollTopY)
   {
    $(".loading").append("<br/>向上滚不执行")
    scrollH=document.documentElement.scrollTop;//记录新位置
    return;
    }
   if(isOK)//如果是第一次或者上次执行完成了就执行本次
   {
     scrollH=document.documentElement.scrollTop;//记录新位置
     $(".loading").append("<br/>~~<span style='background:#red'>执行了ajax。。。。。</span><br/>")
     isOK=false;
   $.ajax({
     type:"POST",
     dataType: 'xml',
     url:"http://localhost:49302/MY100/2010/WebService1.asmx/getDS",
     error:function(e){
      $(".main").append('发生了错误:'+e)
      },
     success:function(data){
      try{
      $(data).find("Table").each(function(i){
         $(".main").append("结果:"+$(this).children('txtTitle').text()+"<br/>");
         $(".main").append("结果:"+$(this).children('txtBody1').text()+"<br/>");
         $(".main").append("结果:"+$(this).children('txtBody2').text()+"<br/>");
         $(".main").append("结果:"+$(this).children('txtBody3').text()+"<br/>");
         $(".main").append("结果:"+$(this).children('txtBody4').text()+"<br/>");
         $(".main").append("结果:"+$(this).children('ID').text()+"<br/>");
         })//each
      }
      catch(e){
       $(".main").append("<p>"+e+"</p>")
      }
      }//success
     })//ajax
     }//if(isOK)
     else
     {
      $(".loading").append("<br/>~~你是向下滚了,但是上次还没有执行完毕,等等吧<br/>")
     }
   }// 触法ajax条件
   })//scroll
})//Jquery 结束处

希望本文所述对大家jQuery程序设计有所帮助。

Javascript 相关文章推荐
JavaScript设置FieldSet展开与收缩
May 15 Javascript
js中将URL中的参数提取出来作为对象的实现代码
Aug 16 Javascript
在JavaScript中处理数组之reverse()方法的使用
Jun 09 Javascript
跟我学习javascript的浮点数精度
Nov 16 Javascript
CSS中position属性之fixed实现div居中
Dec 14 Javascript
JavaScript代码实现图片循环滚动效果
Mar 19 Javascript
vue router自动判断左右翻页转场动画效果
Oct 10 Javascript
禁止弹窗中蒙层底部页面跟随滚动的几种方法
Dec 07 Javascript
vue-cli实现多页面多路由的示例代码
Jan 30 Javascript
JS二级菜单不同实现方法分析【4种方法】
Dec 21 Javascript
微信小程序实现搜索历史功能
Mar 26 Javascript
javascript实现贪吃蛇经典游戏
Apr 10 Javascript
jQuery遍历json的方法分析
Apr 16 #Javascript
jquery对dom节点的操作【推荐】
Apr 15 #Javascript
Jquery attr()方法 属性赋值和属性获取详解
Apr 15 #Javascript
有关jquery与DOM节点操作方法和属性记录
Apr 15 #Javascript
快速解决jquery.touchSwipe左右滑动和垂直滚动条冲突
Apr 15 #Javascript
使用Object.defineProperty实现简单的js双向绑定
Apr 15 #Javascript
jQuery实现下拉框左右移动(全部移动,已选移动)
Apr 15 #Javascript
You might like
php结合ajax实现赞、顶、踩功能实例
2014/05/12 PHP
使用PHP生成PDF方法详解
2015/01/23 PHP
详解PHP数据压缩、加解密(pack, unpack)
2016/12/17 PHP
thinkPHP5.0框架事务处理操作简单示例
2018/09/07 PHP
用js实现上传图片前的预览(TX的面试题)
2007/08/14 Javascript
DOM 基本方法
2009/07/18 Javascript
javascript 页面划词搜索JS
2009/09/28 Javascript
Node.js中使用Buffer编码、解码二进制数据详解
2014/08/16 Javascript
事件委托与阻止冒泡阻止其父元素事件触发
2014/09/02 Javascript
nodejs实现遍历文件夹并统计文件大小
2015/05/28 NodeJs
js添加绑定事件的方法
2016/05/15 Javascript
JS中使用apply方法通过不同数量的参数调用函数的方法
2016/05/31 Javascript
JS定时器实现数值从0到10来回变化
2016/12/09 Javascript
Javascript DOM事件操作小结(监听鼠标点击、释放,悬停、离开等)
2017/01/20 Javascript
js仿QQ邮箱收件人选择与搜索功能
2017/02/10 Javascript
angularjs中ng-bind-html的用法总结
2017/05/23 Javascript
Node Mongoose用法详解【Mongoose使用、Schema、对象、model文档等】
2020/05/13 Javascript
Vue.js中使用Vuex实现组件数据共享案例
2020/07/31 Javascript
详解阿里Node.js技术文档之process模块学习指南
2021/01/04 Javascript
python装饰器decorator介绍
2014/11/21 Python
利用python实现简单的邮件发送客户端示例
2017/12/23 Python
Python实现针对给定单链表删除指定节点的方法
2018/04/12 Python
python实现连续图文识别
2018/12/18 Python
python分数表示方式和写法
2019/06/26 Python
python 调试冷知识(小结)
2019/11/11 Python
关于Flask项目无法使用公网IP访问的解决方式
2019/11/19 Python
python 使用递归的方式实现语义图片分割功能
2020/07/16 Python
Dockers美国官方网站:卡其裤、男士服装、鞋及配件
2016/11/22 全球购物
英国最大的经认证的有机超市:Planet Organic
2018/02/02 全球购物
印尼综合在线预订网站:Tiket.com(机票、酒店、火车、租车和娱乐)
2018/10/11 全球购物
聚美优品的广告词
2014/03/14 职场文书
企业务虚会发言材料
2014/10/20 职场文书
2014年物业管理工作总结
2014/11/21 职场文书
新闻通讯稿范文
2015/07/22 职场文书
干货:如何写好观后感 !
2019/05/21 职场文书
导游词之青岛崂山
2019/12/27 职场文书