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 相关文章推荐
html超链接打开窗口大小的方法
Mar 05 Javascript
当鼠标滑过文本框自动选中输入框内容的JS代码分享
Nov 26 Javascript
JS实现弹出浮动窗口(支持鼠标拖动和关闭)实例详解
Aug 06 Javascript
详解JavaScript的另类写法
Apr 11 Javascript
bootstrap提示标签、提示框实现代码
Dec 28 Javascript
利用types增强vscode中js代码提示功能详解
Jul 07 Javascript
vue router学习之动态路由和嵌套路由详解
Sep 21 Javascript
在vue中使用G2图表的示例代码
Mar 19 Javascript
js实现简单掷骰子小游戏
Oct 24 Javascript
Vue.extend 编程式插入组件的实现
Nov 18 Javascript
微信小程序实现通讯录列表展开收起
Nov 18 Javascript
VUE+Element实现增删改查的示例源码
Nov 23 Vue.js
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编写的图片验证码类文件分享
2016/06/06 PHP
Thinkphp批量更新数据的方法汇总
2016/06/29 PHP
Yii2中事务的使用实例代码详解
2016/09/07 PHP
php+ajax简单实现全选删除的方法
2016/12/06 PHP
php实现图片按比例截取的方法
2017/02/06 PHP
Yii框架实现的验证码、登录及退出功能示例
2017/05/20 PHP
PHP实现会员账号单唯一登录的方法分析
2019/03/07 PHP
php多进程并发编程防止出现僵尸进程的方法分析
2020/02/28 PHP
javaScript - 如何引入js代码
2021/03/09 Javascript
jQuery解决iframe高度自适应代码
2009/12/20 Javascript
使用jquery为table动态添加行的实现代码
2011/03/30 Javascript
引入JS文件IE6报语法错误或缺少对象问题的解决方法
2014/01/09 Javascript
node.js中的path.extname方法使用说明
2014/12/09 Javascript
用JavaScript显示浏览器客户端信息的超相近教程
2015/06/18 Javascript
用JavaScript实现PHP的urlencode与urldecode函数
2015/08/13 Javascript
通过点击jqgrid表格弹出需要的表格数据
2015/12/02 Javascript
打造自己的jQuery插件入门教程
2016/09/23 Javascript
js获取一组日期中最近连续的天数
2017/05/25 Javascript
Node.js开发第三方微信公众平台
2017/06/05 Javascript
javascript Function函数理解与实战
2017/12/01 Javascript
vue2中使用less简易教程
2018/03/27 Javascript
jQuery中将json数据显示到页面表格的方法
2018/05/27 jQuery
layui实现图片虚拟路径上传,预览和删除的例子
2019/09/25 Javascript
vue使用prop可以渲染但是打印台报错的解决方式
2019/11/13 Javascript
python实现批量按比例缩放图片效果
2018/03/30 Python
Win10系统下安装labelme及json文件批量转化方法
2019/07/30 Python
python机器学习实现决策树
2019/11/11 Python
windows10 pycharm下安装pyltp库和加载模型实现语义角色标注的示例代码
2020/05/07 Python
Django xadmin安装及使用详解
2020/10/26 Python
Python APScheduler执行使用方法详解
2020/12/10 Python
瑞典最大的儿童用品网上商店:pinkorblue.se
2021/03/09 全球购物
春风行动实施方案
2014/03/28 职场文书
宾馆前台接待岗位职责
2015/04/02 职场文书
公司晚会主持词
2019/04/17 职场文书
导游词之江西赣州
2019/10/15 职场文书
解析高可用Redis服务架构分析与搭建方案
2021/06/20 Redis