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 相关文章推荐
JScript内置对象Array中元素的删除方法
Mar 08 Javascript
JS Replace()的高级使用方法介绍
Jun 29 Javascript
JQuery分别取得每行最后一列和最后一行的示例代码
Aug 18 Javascript
jQuery学习笔记之 Ajax操作篇(二) - 数据传递
Jun 23 Javascript
创建一个类Person的简单实例
May 17 Javascript
基于AngularJS实现iOS8自带的计算器
Sep 12 Javascript
微信小程序 使用picker封装省市区三级联动实例代码
Oct 28 Javascript
使用Ajax生成的Excel文件并下载的实例
Nov 21 Javascript
vue之nextTick全面解析
May 17 Javascript
vue下跨域设置的相关介绍
Aug 26 Javascript
vue 地图可视化 maptalks 篇实例代码详解
May 21 Javascript
vue element-ui el-date-picker限制选择时间为当天之前的代码
Nov 07 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 文件上传功能实现代码
2009/06/24 PHP
PHP各种异常和错误的拦截方法及发生致命错误时进行报警
2016/01/19 PHP
php实现爬取和分析知乎用户数据
2016/01/26 PHP
PHP Ajax JavaScript Json获取天气信息实现代码
2016/08/17 PHP
PHP生成随机字符串实例代码(字母+数字)
2019/09/11 PHP
jquery last-child 列表最后一项的样式
2010/01/22 Javascript
JQuery+CSS提示框实现思路及代码(纯手工打造)
2013/05/07 Javascript
JavaScript中的原型prototype属性使用详解
2015/06/05 Javascript
jQuery针对input的class属性写了多个值情况下的选择方法
2016/06/03 Javascript
JQuery实现动态操作表格
2017/01/11 Javascript
js数字舍入误差以及解决方法(必看篇)
2017/02/28 Javascript
javascript编程实现栈的方法详解【经典数据结构】
2017/04/11 Javascript
ECMAScript6变量的解构赋值实例详解
2017/09/19 Javascript
React学习笔记之高阶组件应用
2018/06/02 Javascript
解决vue.js this.$router.push无效的问题
2018/09/03 Javascript
微信小程序实现批量倒计时功能
2020/11/01 Javascript
小程序如何支持使用 async/await详解
2019/09/12 Javascript
Vue之Mixins(混入)的使用方法
2019/09/24 Javascript
基于VSCode调试网页JavaScript代码过程详解
2020/07/20 Javascript
vuex中遇到的坑,vuex数据改变,组件中页面不渲染操作
2020/11/16 Javascript
JavaScript 中的执行上下文和执行栈实例讲解
2021/02/25 Javascript
Python遍历zip文件输出名称时出现乱码问题的解决方法
2015/04/08 Python
Python中的index()方法使用教程
2015/05/18 Python
Python正则表达式知识汇总
2017/09/22 Python
基于Django的python验证码(实例讲解)
2017/10/23 Python
python实现kMeans算法
2017/12/21 Python
python画柱状图--不同颜色并显示数值的方法
2018/12/13 Python
Python 排序最长英文单词链(列表中前一个单词末字母是下一个单词的首字母)
2020/12/14 Python
土木工程建筑专业毕业生求职信
2013/10/21 职场文书
技校毕业生个人学习的自我评价
2014/02/21 职场文书
股权转让意向书
2014/04/01 职场文书
网络技术专业求职信
2014/07/13 职场文书
做一个有道德的人活动方案
2014/08/25 职场文书
怒海潜将观后感
2015/06/11 职场文书
《这片土地是神圣的》教学反思
2016/02/16 职场文书
《孙子兵法》:欲成大事者,需读懂这些致胜策略
2019/08/23 职场文书