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 学习笔记(十三)Dom创建表格
Jan 21 Javascript
学习javascript,实现插入排序实现代码
Jul 31 Javascript
基于JQuery的抓取博客园首页RSS的代码
Dec 01 Javascript
jQuery 过滤not()与filter()实例代码
May 10 Javascript
CascadeView级联组件实现思路详解(分离思想和单链表)
Apr 12 Javascript
Chrome不支持showModalDialog模态对话框和无法返回returnValue问题的解决方法
Oct 30 Javascript
webpack打包后直接访问页面图片路径错误的解决方法
Jun 17 Javascript
jQuery插件DataTables分页开发心得体会
Aug 22 jQuery
微信小程序页面传多个参数跳转页面的实现方法
May 17 Javascript
vue中注册自定义的全局js方法
Nov 15 Javascript
vue开发移动端底部导航条功能
Apr 08 Javascript
arcgis.js控制地图地体的显示范围超出区域自动弹回(实现思路)
Jan 28 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使之能同时支持GIF和JPEG
2006/10/09 PHP
php gd2 上传图片/文字水印/图片水印/等比例缩略图/实现代码
2010/05/15 PHP
PHP OPCode缓存 APC详细介绍
2010/10/12 PHP
php _autoload自动加载类与机制分析
2012/02/10 PHP
php计算数组相同值出现次数的代码(array_count_values)
2015/01/20 PHP
简单实现PHP留言板功能
2016/12/21 PHP
CI框架(CodeIgniter)公共模型类定义与用法示例
2017/08/10 PHP
用innerhtml提高页面打开速度的方法
2013/08/02 Javascript
jQuery动画效果-fadeIn fadeOut淡入浅出示例代码
2013/08/28 Javascript
Javascript遍历table中的元素示例代码
2014/07/08 Javascript
完美实现仿QQ空间评论回复特效
2015/05/06 Javascript
js制作支付倒计时页面
2016/10/21 Javascript
基于javascript实现的快速排序
2016/12/02 Javascript
Vue过滤器的用法和自定义过滤器使用
2017/02/08 Javascript
JS实现的数字格式化功能示例
2017/02/10 Javascript
360doc网站不登录就无法复制内容的解决方法
2018/01/27 Javascript
vue组件挂载到全局方法的示例代码
2018/08/02 Javascript
详解vuex 渐进式教程实例代码
2018/11/27 Javascript
用Cordova打包Vue项目的方法步骤
2019/02/02 Javascript
layui实现多图片上传并限制上传的图片数量
2019/09/26 Javascript
JS实现排行榜文字向上滚动轮播效果
2019/11/26 Javascript
从零开始在vue-cli4配置自适应vw布局的实现
2020/06/08 Javascript
详解Java中String JSONObject JSONArray List转换
2020/11/13 Javascript
python生成指定尺寸缩略图的示例
2014/05/07 Python
Python反射用法实例简析
2017/12/22 Python
100行Python代码实现每天不同时间段定时给女友发消息
2019/09/27 Python
python 获取字典键值对的实现
2020/11/12 Python
python3.9实现pyinstaller打包python文件成exe
2020/12/13 Python
Python实现钉钉/企业微信自动打卡的示例代码
2021/02/02 Python
骨干教师培训制度
2014/01/13 职场文书
机械个人求职信范文
2014/01/24 职场文书
建材投资建议书
2014/05/16 职场文书
关工委先进个人事迹材料
2014/05/23 职场文书
2015年妇联工作总结范文
2015/04/22 职场文书
《风娃娃》教学反思
2016/02/18 职场文书
win10滚动条自动往上跑怎么办?win10滚动条自动往上跑的解决方法
2022/08/05 数码科技