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 相关文章推荐
一个收集图片的bookmarlet(js 刷新页面中的图片)
May 27 Javascript
html超链接打开窗口大小的方法
Mar 05 Javascript
js导出txt示例代码
Jan 14 Javascript
jQuery中[attribute*=value]选择器用法实例
Dec 31 Javascript
原生js实现返回顶部缓冲效果
Jan 18 Javascript
jQuery实现的动态文字变化输出效果示例【附演示与demo源码下载】
Mar 24 jQuery
jQuery实现文章图片弹出放大效果
Apr 06 jQuery
json对象及数组键值的深度大小写转换问题详解
Mar 30 Javascript
详解如何探测小程序返回到webview页面
May 14 Javascript
vue 接口请求地址前缀本地开发和线上开发设置方式
Aug 13 Javascript
原生JS实现拖拽效果
Dec 04 Javascript
vue ant design 封装弹窗表单的使用
Jun 01 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数组总结篇(一)
2008/09/30 PHP
PHP中list()函数用法实例简析
2016/01/08 PHP
PHP实现支持加盐的图片加密解密
2016/09/09 PHP
PHP面向对象程序设计内置标准类,普通数据类型转为对象类型示例
2019/06/12 PHP
Prototype Class对象学习
2009/07/19 Javascript
javascript 节点遍历函数
2010/03/28 Javascript
表单切换,用回车键替换Tab健(不支持IE)
2011/07/20 Javascript
推荐30个新鲜出炉的精美 jQuery 效果
2012/03/26 Javascript
jquery实现的导航固定效果
2014/04/28 Javascript
js使用onmousemove和onmouseout获取鼠标坐标的方法
2015/03/31 Javascript
JavaScript返回上一页的三种方法及区别介绍
2015/07/04 Javascript
jQuery仿360导航页图标拖动排序效果代码分享
2015/08/24 Javascript
基于jQuery实现的仿百度首页滑动选项卡效果代码
2015/11/16 Javascript
ajax图片上传,图片异步上传,更新实例
2016/12/30 Javascript
详解AngularJs路由之Ui-router-resolve(预加载)
2017/06/13 Javascript
Vue Router去掉url中默认的锚点#
2018/08/01 Javascript
Vue中使用canvas方法总结
2019/02/12 Javascript
深入理解 JS 垃圾回收
2019/06/03 Javascript
多种类型jQuery网页验证码插件代码实例
2021/01/09 jQuery
Python实现针对含中文字符串的截取功能示例
2017/09/22 Python
Python版名片管理系统
2018/11/30 Python
python实现几种归一化方法(Normalization Method)
2019/07/31 Python
基于python的selenium两种文件上传操作实现详解
2019/09/19 Python
使用keras实现Precise, Recall, F1-socre方式
2020/06/15 Python
Python延迟绑定问题原理及解决方案
2020/08/04 Python
New Balance英国官方网站:始于1906年,百年慢跑品牌
2016/12/07 全球购物
DC Shoes荷兰官方网站:美国极限运动品牌
2019/10/22 全球购物
德国珠宝和配件商店:Styleserver
2021/02/23 全球购物
护理专业毕业生推荐信
2013/10/31 职场文书
开展党的群众路线教育实践活动方案
2014/02/05 职场文书
个人函授自我鉴定
2014/03/25 职场文书
公司停电通知
2015/04/15 职场文书
工地食品安全责任书
2015/05/09 职场文书
讲座新闻稿
2015/07/18 职场文书
2016大学迎新晚会开场白
2015/11/24 职场文书
python基于tkinter制作m3u8视频下载工具
2021/04/24 Python