asp.net网站开发中用jquery实现滚动浏览器滚动条加载数据(类似于腾讯微博)


Posted in Javascript onMarch 14, 2012

自从腾讯微博上线以来,基本上就开始用了,一直到现在,作为一个开发人员,也看到了腾讯微博一直在不停的改变,也不知道大家有没有发现,腾讯微博提供两种加载数据的方式,一种是分页,一种是滚动浏览器滚动条加载数据,分页功能我想大家都做得太多了,今天我与大家分享一下我用滚动条滚动加载数据
下面开讲:

首先说一下思路,我用的是Jquery,然后通过Jquery的ajax()方法通过 HTTP 请求加载远程数据来实现的,用到Jquery,首先要应用jquery.min.js类库,如果本地没有,也可以直接引用下面地址<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.0/jquery.min.js"></script>。

好吧,下面我们看下核心代码:

// - -!,你懂的. 
var count=<%=allcount %>; 
var times=0; 
var loaded = true; 
function Add_Data() 
{ 
var top = $("#main_left_add").offset().top; 
if(loaded && ($(window).scrollTop() + $(window).height() > top)) 
{ 
$("#main_left_add").html("数据加载中..."); 
times++; 
$.ajax( 
{ 
type: "POST", 
dataType: "text", 
url: "weibo.ashx", 
data: "userid="+<%=hf.Value %>+"&touserid="+<%=hf1.Value %>+"&count="+count+"×="+times+"&type=1", 
success: function(data) 
{ 
//alert("第"+times+"次追加数据."); 
if(data == "没有数据") 
{ 
$("#main_left_add").css("display","none"); 
loaded=false; 
AddEffect(); 
} 
else if(data == "") 
{ 
$("#main_left_add").html("点击加载更多..."); 
$("#main_left_add").css("display","block"); 
loaded=false; 
AddEffect(); 
} 
else if(data != "") 
{ 
$("#main_left_down").append(data); 
AddEffect(); 
} 
} 
} 
); 
} 
} 
$(window).scroll(Add_Data); 
//点击追加数据 
$("#main_left_add").click(function(){ 
$.ajax({ 
type: "POST", 
dataType: "text", 
url: "weibo.ashx", 
data:"userid="+<%=hf.Value %>+"&touserid="+<%=hf1.Value %>+"&count="+count+"×="+times+"&type=2", 
success: function(data){ 
if(data=="没有数据") 
{ 
$("#main_left_add").css("display","none"); 
AddEffect(); 
} 
else 
{ 
$("#main_left_down").append(data); 
$("#main_left_add").html("点击加载更多..."); 
AddEffect(); 
} 
} 
}); 
//鼠标移动效果 
$("#main_left_add").mouseover(function(){ 
$(this).css("background-color","#e4eef8"); 
}); 
$("#main_left_add").mouseout(function(){ 
$(this).css("background-color","#f0f5f8"); 
});

这是前台js代码,下面我稍微的解释一下代码:count是定义的数据总数,定义两个div,一的div用来追加数据,一个div用来判断滚动条的位置,再建一个*.ashx文件用来处理程序并返回相应的数据,根据此数据我们肯定判断加载情况,滚动追加完成后我还多加了一个"点击加载更多的功能...",此功能实现也与上面差不多...代码都在上面,供大家参考。

注意:为了防止滚动事件一直会被执行,所以才定义了一个loaded来控制滚动事件的执行。

Javascript 相关文章推荐
国外的为初学者写的JavaScript教程
Jun 09 Javascript
jQuery在vs2008及js文件中的无智能提示的解决方法
Dec 30 Javascript
简述AngularJS的控制器的使用
Jun 16 Javascript
jQuery滚动加载图片实现原理
Dec 14 Javascript
开启BootStrap学习之旅
May 04 Javascript
javascript与jquery动态创建html元素示例
Jul 25 Javascript
Vue实现自带的过滤器实例
Mar 09 Javascript
微信小程序实现tab和swiper切换结合效果
Jul 17 Javascript
Angular8引入百度Echarts进行图表分析的实现代码
Nov 27 Javascript
js实现上下左右键盘控制div移动
Jan 16 Javascript
Vue实现兄弟组件间的联动效果
Jan 21 Javascript
jQuery实现鼠标拖动图片功能
Mar 04 jQuery
JQuery UI的拖拽功能实现方法小结
Mar 14 #Javascript
10款非常有用的 Ajax 插件分享
Mar 14 #Javascript
node.js chat程序如何实现Ajax long-polling长链接刷新模式
Mar 13 #Javascript
Jquery弹出窗口插件 LeanModal的使用方法
Mar 10 #Javascript
解决3.01版的jquery.form.js中文乱码问题的解决方法
Mar 08 #Javascript
Node.js实战 建立简单的Web服务器
Mar 08 #Javascript
使用UglifyJS合并/压缩JavaScript的方法
Mar 07 #Javascript
You might like
Win9x/ME下Apache+PHP安装配置
2006/10/09 PHP
PHP MSSQL 存储过程的方法
2008/12/24 PHP
Linux下安装oracle客户端并配置php5.3
2014/10/12 PHP
golang与PHP输出excel示例
2016/07/22 PHP
apache集成php7.3.5的详细步骤
2019/06/20 PHP
向fckeditor编辑器插入指定代码的方法
2007/05/25 Javascript
jquery mobile动态添加元素之后不能正确渲染解决方法说明
2014/03/05 Javascript
自己使用jquery写的一个无缝滚动的插件
2014/04/30 Javascript
js实现点击获取验证码倒计时效果
2021/01/28 Javascript
jQuery语法小结(超实用)
2015/12/31 Javascript
js密码强度实时检测代码
2016/03/02 Javascript
JavaScript组件开发之输入框加候选框
2017/03/10 Javascript
Vue.js教程之axios与网络传输的学习实践
2017/04/29 Javascript
bootstrap中selectpicker下拉框使用方法实例
2018/03/22 Javascript
jQuery实现简单复制json对象和json对象集合操作示例
2018/07/09 jQuery
Vue父子组件之间的通信实例详解
2018/09/28 Javascript
Vue表情输入组件 微信face表情组件
2019/02/11 Javascript
微信小程序websocket实现即时聊天功能
2019/05/21 Javascript
jQuery+PHP+Ajax实现动态数字统计展示功能
2019/12/25 jQuery
python操作MySQL数据库具体方法
2013/10/28 Python
Python greenlet实现原理和使用示例
2014/09/24 Python
在Python的web框架中中编写日志列表的教程
2015/04/30 Python
python3 实现的人人影视网站自动签到
2016/06/19 Python
Python实现复杂对象转JSON的方法示例
2017/06/22 Python
Python获取指定字符前面的所有字符方法
2018/05/02 Python
大学生军训自我鉴定
2014/02/12 职场文书
单位绩效考核方案
2014/05/11 职场文书
房屋买卖委托书格式范本格式
2014/10/13 职场文书
12.4全国法制宣传日活动总结
2014/11/01 职场文书
个人欠款协议书范本2014
2014/11/02 职场文书
成品仓管员岗位职责
2015/04/01 职场文书
建党伟业的观后感
2015/06/01 职场文书
2016春季幼儿园开学寄语
2015/12/03 职场文书
员工升职自我评价
2019/03/26 职场文书
浅谈node.js中间件有哪些类型
2021/04/29 Javascript
ubuntu端向日葵键盘输入卡顿问题及解决
2022/12/24 Servers