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 面向对象 重载
May 13 Javascript
基于Javascript实现倒计时功能
Feb 22 Javascript
Bootstrap基本组件学习笔记之分页(12)
Dec 08 Javascript
详解angular中如何监控dom渲染完毕
Jan 03 Javascript
简单实现bootstrap导航效果
Feb 07 Javascript
Angular企业级开发——MVC之控制器详解
Feb 20 Javascript
JavaScript实现无穷滚动加载数据
May 06 Javascript
使用JS编写的随机抽取号码的小程序
Aug 11 Javascript
微信小程序实现点击文字页面跳转功能【附源码下载】
Dec 12 Javascript
angular中如何绑定iframe中src的方法
Feb 01 Javascript
JavaScript代码简化技巧实例解析
Sep 09 Javascript
解决vue项目中遇到 Cannot find module ‘chalk‘ 报错的问题
Nov 05 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 CURL模拟GET及POST函数代码
2010/04/25 PHP
PHP中的string类型使用说明
2010/07/27 PHP
使用session判断用户登录用户权限(超简单)
2013/06/08 PHP
{}与function(){}选用空对象{}来存放keyValue
2012/05/23 Javascript
JavaScript中获取样式的原生方法小结
2014/10/08 Javascript
动态加载jQuery的两种方法实例分析
2015/07/17 Javascript
jQuery解析json格式数据简单实例
2016/01/22 Javascript
JavaScript变量类型以及变量作用域详解
2017/08/14 Javascript
canvas轨迹回放功能实现
2017/12/20 Javascript
详解webpack自定义loader初探
2018/08/29 Javascript
详解vue 数组和对象渲染问题
2018/09/21 Javascript
Vue.js中对css的操作(修改)具体方式详解
2018/10/30 Javascript
Vue CLI3基础学习之pages构建多页应用
2019/06/02 Javascript
使用Vue.js中的过滤器实现幂方求值的方法
2019/08/27 Javascript
解决axios post 后端无法接收数据的问题
2019/10/29 Javascript
video.js添加自定义组件的方法
2020/12/09 Javascript
[04:40]2016国际邀请赛中国区预选赛全程TOP10镜头集锦
2016/07/01 DOTA
Python中的异常处理简明介绍
2015/04/13 Python
python实现的简单文本类游戏实例
2015/04/28 Python
python 获取字符串MD5值方法
2018/05/29 Python
详解python3中zipfile模块用法
2018/06/18 Python
基于Django实现日志记录报错信息
2019/12/17 Python
python GUI库图形界面开发之PyQt5信号与槽多窗口数据传递详细使用方法与实例
2020/03/08 Python
python3代码输出嵌套式对象实例详解
2020/12/03 Python
基于Python的接口自动化unittest测试框架和ddt数据驱动详解
2021/01/27 Python
计算机专业推荐信范文
2013/11/20 职场文书
远程教育心得体会
2014/01/03 职场文书
文明学生标兵事迹
2014/01/21 职场文书
教学实习自我评价
2014/01/28 职场文书
幼儿园大班评语大全
2014/04/17 职场文书
期末学生评语大全
2014/04/24 职场文书
大三学习计划书范文
2014/05/02 职场文书
2014大学生学生会工作总结
2014/12/19 职场文书
药店营业员岗位职责
2015/04/14 职场文书
小学学习委员竞选稿
2015/11/20 职场文书
为什么说餐饮很难做,是因为你不了解这些新规则
2019/08/20 职场文书