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实现Sleep函数的代码
Mar 04 Javascript
List Information About the Binary Files Used by an Application
Jun 18 Javascript
sencha touch 模仿tabpanel导航栏TabBar的实例代码
Oct 24 Javascript
js window.onload 加载多个函数和追加函数详解
Jan 08 Javascript
文本域光标操作的jQuery扩展分享
Mar 10 Javascript
jQuery+jsp下拉框联动获取本地数据的方法(附源码)
Dec 03 Javascript
前端js文件合并的三种方式推荐
May 19 Javascript
jquery实现上传文件大小类型的验证例子(推荐)
Jun 25 Javascript
Bootstrap实现input控件失去焦点时验证
Aug 04 Javascript
Jquery与Bootstrap实现后台管理页面增删改查功能示例
Jan 22 Javascript
react-redux中connect的装饰器用法@connect详解
Jan 13 Javascript
HTML+JS实现“代码雨”效果源码(黑客帝国文字下落效果)
Mar 17 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
国产动画《伍六七》原声大碟大卖,啊哈娱乐引领音乐赋能IP的新尝试
2020/03/08 国漫
基于php冒泡排序算法的深入理解
2013/06/09 PHP
workerman结合laravel开发在线聊天应用的示例代码
2018/10/30 PHP
关于jQuery object and DOM element
2013/04/15 Javascript
JQuery实现防止退格键返回的方法
2015/02/12 Javascript
基于jQuery实现动态数字展示效果
2015/08/12 Javascript
基于jquery实现页面滚动到底自动加载数据的功能
2015/12/19 Javascript
页面get请求 中文参数方法乱码问题的快速解决方法
2016/05/31 Javascript
Vue.js 2.0 和 React、Augular等其他前端框架大比拼
2016/10/08 Javascript
JavaScript浮点数及运算精度调整详解
2016/10/21 Javascript
纯JS单页面赛车游戏制作代码分享
2017/03/03 Javascript
微信小程序实现移动端滑动分页效果(ajax)
2017/06/13 Javascript
js学习总结_基于数据类型检测的四种方式(必看)
2017/07/04 Javascript
vue.js  父向子组件传参的实例代码
2017/10/29 Javascript
js操作二进制数据方法
2018/03/03 Javascript
javascript获取元素的计算样式
2019/05/24 Javascript
JS通过ajax + 多列布局 + 自动加载实现瀑布流效果
2019/05/30 Javascript
解决vue语法会有延迟加载显现{{xxx}}的问题
2019/11/14 Javascript
[01:00:17]DOTA2-DPC中国联赛 正赛 SAG vs Dynasty BO3 第二场 1月25日
2021/03/11 DOTA
深入理解Python单元测试unittest的使用示例
2017/11/18 Python
python利用多种方式来统计词频(单词个数)
2019/05/27 Python
在Pycharm中使用GitHub的方法步骤
2019/06/13 Python
python点击鼠标获取坐标(Graphics)
2019/08/10 Python
PyTorch实现ResNet50、ResNet101和ResNet152示例
2020/01/14 Python
python爬虫工具例举说明
2020/11/30 Python
发现世界上最好的珠宝设计师:JewelStreet
2017/12/17 全球购物
美国首屈一指的礼品篮供应商:GiftTree
2018/01/06 全球购物
大学生关于奋斗的演讲稿
2014/01/09 职场文书
亮化工程实施方案
2014/03/17 职场文书
公民代理授权委托书
2014/09/24 职场文书
法律意见书范本
2015/06/04 职场文书
经典法律座右铭(50句)
2019/08/15 职场文书
甜美蛋糕店的创业计划书模板,拿来即用!
2019/08/21 职场文书
详解Java实践之抽象工厂模式
2021/06/18 Java/Android
Oracle以逗号分隔的字符串拆分为多行数据实例详解
2021/07/16 Oracle
vue实现书本翻页动画效果实例详解
2022/04/08 Vue.js