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 相关文章推荐
js通过更改按钮的显示样式实现按钮的滑动效果
Apr 23 Javascript
简介JavaScript中Boolean.toSource()方法的使用
Jun 05 Javascript
Javascript技术栈中的四种依赖注入小结
Feb 27 Javascript
JavaScript的模块化开发框架Sea.js上手指南
May 12 Javascript
原生js仿jquery animate动画效果
Jul 13 Javascript
javascript比较语义化版本号的实现代码
Sep 09 Javascript
jQuery Validate表单验证插件的基本使用方法及功能拓展
Jan 04 Javascript
JavaScript中错误正确处理方式小结你用对了吗
Oct 10 Javascript
bootstrap table sum总数量统计实现方法
Oct 29 Javascript
手写简单的jQuery雪花飘落效果实例
Apr 22 jQuery
微信小程序后台持续定位功能使用详解
Aug 23 Javascript
微信小程序的引导页实现代码
Jun 24 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网页游戏学习之Xnova(ogame)源码解读(十四)
2014/06/26 PHP
PHP设置Cookie的HTTPONLY属性方法
2017/02/09 PHP
js jquery分别实现动态的文件上传操作按钮的添加和删除
2014/01/13 Javascript
js数组循环遍历数组内所有元素的方法
2014/01/18 Javascript
浅谈JS日期(Date)处理函数
2014/12/07 Javascript
详谈LABJS按需动态加载js文件
2015/05/07 Javascript
最新最热最实用的15个jQuery插件汇总
2015/07/05 Javascript
javascript实现简单的页面右下角提示信息框
2015/07/31 Javascript
jQuery Easyui使用(二)之可折叠面板动态加载无效果的解决方法
2016/08/17 Javascript
js使用highlight.js高亮你的代码
2017/08/18 Javascript
jquery中ajax请求后台数据成功后既不执行success也不执行error的完美解决方法
2017/12/24 jQuery
原生js实现淘宝放大镜效果
2020/10/28 Javascript
重学 JS:为啥 await 不能用在 forEach 中详解
2019/04/15 Javascript
JavaScript this在函数中的指向及实例详解
2019/10/14 Javascript
Vue实现简单的拖拽效果
2020/08/25 Javascript
解决vue watch数据的方法被调用了两次的问题
2020/11/07 Javascript
[01:23]2019完美世界全国高校联赛(春季赛)合肥全国总决赛
2019/06/10 DOTA
[06:07]DOTA2-DPC中国联赛3月5日Recap集锦
2021/03/11 DOTA
仅利用30行Python代码来展示X算法
2015/04/01 Python
python基础入门学习笔记(Python环境搭建)
2016/01/13 Python
Python闭包的两个注意事项(推荐)
2017/03/20 Python
使用Python搭建虚拟环境的配置方法
2018/02/28 Python
python实现csv格式文件转为asc格式文件的方法
2018/03/23 Python
使用Python监视指定目录下文件变更的方法
2018/10/15 Python
详解Python在使用JSON时需要注意的编码问题
2019/12/06 Python
scrapy中如何设置应用cookies的方法(3种)
2020/09/22 Python
快速创建python 虚拟环境
2020/11/28 Python
亚洲领先的旅游体验市场:Voyagin
2019/11/23 全球购物
DIY手工制作经营店创业计划书
2014/02/01 职场文书
园林系毕业生求职信
2014/06/23 职场文书
终止劳动合同证明书样本
2014/11/19 职场文书
工程催款通知书
2015/04/17 职场文书
新兵入伍决心书
2015/09/22 职场文书
大学军训通讯稿(2016最新版)
2015/12/21 职场文书
Anaconda配置各版本Pytorch的实现
2021/08/07 Python
教你使用Jenkins集成Harbor自动发布镜像
2022/04/03 Servers