这是仿照腾讯的微薄上的一个效果。滚动条可以无限的网下滚动并且无刷不断从数据库中获取新的数据。
< 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 结束处 |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端