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 Event学习第九章 鼠标事件
Feb 08 Javascript
jQuery插件扩展测试实例
Jun 21 Javascript
JavaScript实现时钟滴答声效果
Jan 29 Javascript
jquery设置css样式的多种方法(总结)
Feb 21 Javascript
vue Render中slots的使用的实例代码
Jul 19 Javascript
vue中七牛插件使用的实例代码
Jul 28 Javascript
基于 Vue 实现一个酷炫的 menu插件
Nov 14 Javascript
详解Vue项目在其他电脑npm run dev运行报错的解决方法
Oct 29 Javascript
vue+elementUI实现表单和图片上传及验证功能示例
May 14 Javascript
vue 实现动态路由的方法
Jul 06 Javascript
vue使用Sass时报错问题的解决方法
Oct 14 Javascript
JavaScript基于SVG的图片切换效果实例代码
Dec 15 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编程函数安全篇
2013/01/08 PHP
php将session放入memcached的设置方法
2014/02/14 PHP
php截取字符串函数分享
2015/02/02 PHP
PHP类型约束用法示例
2016/09/28 PHP
表单内同名元素的控制
2006/11/22 Javascript
开发跨浏览器javascript常见注意事项
2009/01/01 Javascript
JS图片浏览组件PhotoLook的公开属性方法介绍和进阶实例代码
2010/11/09 Javascript
javascript变量作用域使用中常见错误总结
2013/03/26 Javascript
jQuery读取和设定KindEditor值的方法
2013/11/22 Javascript
js 采用delete实现继承示例代码
2014/05/20 Javascript
判断window.onload是否多次使用的方法
2014/09/21 Javascript
详解Javascript动态操作CSS
2014/12/08 Javascript
jQuery EasyUI Dialog拖不下来如何解决
2015/09/28 Javascript
jQuery简单注册和禁用全局事件的方法
2016/07/25 Javascript
jQuery实现的放大镜效果示例
2016/09/13 Javascript
javascript汉字拼音互转的简单实例
2016/10/09 Javascript
React Native使用百度Echarts显示图表的示例代码
2017/11/07 Javascript
angularJs使用ng-repeat遍历后选中某一个的方法
2018/09/30 Javascript
使用vue-cli3 创建vue项目并配置VS Code 自动代码格式化 vue语法高亮问题
2019/05/14 Javascript
JavaScript函数式编程(Functional Programming)高阶函数(Higher order functions)用法分析
2019/05/22 Javascript
js实现移动端tab切换时下划线滑动效果
2019/09/08 Javascript
Pyramid Mako模板引入helper对象的步骤方法
2013/11/27 Python
使用Python写一个量化股票提醒系统
2018/08/22 Python
python 分离文件名和路径以及分离文件名和后缀的方法
2018/10/21 Python
Python Tensor FLow简单使用方法实例详解
2020/01/14 Python
Keras设定GPU使用内存大小方式(Tensorflow backend)
2020/05/22 Python
python实现批量转换图片为黑白
2020/06/16 Python
浅谈tensorflow 中的图片读取和裁剪方式
2020/06/30 Python
爬虫代理的cookie如何生成运行
2020/09/22 Python
使用CSS3配合IE滤镜实现渐变和投影的效果
2015/09/06 HTML / CSS
材料加工工程求职信
2014/02/19 职场文书
2014年中秋节活动总结
2014/08/29 职场文书
2014年教师个人工作总结
2014/11/10 职场文书
2014年物资管理工作总结
2014/12/02 职场文书
HTML中的表单Form实现居中效果
2021/05/25 HTML / CSS
SQL Server 忘记密码以及重新添加新账号
2022/04/26 SQL Server