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 相关文章推荐
基于Jquery的动态添加控件并取值的实现代码
Sep 24 Javascript
如何正确使用javascript 来进行我们的程序开发
Jun 23 Javascript
BootStrap与Select2使用小结
Feb 17 Javascript
基于VUE选择上传图片并页面显示(图片可删除)
May 25 Javascript
webpack踩坑之路图片的路径与打包
Sep 05 Javascript
vue写h5页面的方法总结
Feb 12 Javascript
详解vue-cli中使用rem,vue自适应
May 06 Javascript
新手简单了解vue
May 29 Javascript
如何解决js函数防抖、节流出现的问题
Jun 17 Javascript
js实现简单放大镜效果
Mar 07 Javascript
原生js实现简单轮播图
Oct 26 Javascript
Vue提供的三种调试方式你知道吗
Jan 18 Vue.js
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
Re:从零开始的异世界生活 第2季 开播啦
2020/07/24 日漫
PHP EOT定界符的使用详解
2008/09/30 PHP
php 记录进行累加并显示总时长为秒的结果
2011/11/04 PHP
深入剖析PHP中printf()函数格式化使用
2016/05/23 PHP
Smarty简单生成表单元素的方法示例
2016/05/23 PHP
php7 参数、整形及字符串处理机制修改实例分析
2020/05/25 PHP
jquery div 居中技巧应用介绍
2012/11/24 Javascript
jquery+正则实现统一的表单验证
2015/09/20 Javascript
jQuery mobile在页面加载时添加加载中效果 document.ready 和window.onload执行顺序比较
2016/07/14 Javascript
js学习之----深入理解闭包
2016/11/21 Javascript
微信小程序实现图片自适应(支持多图)
2017/01/25 Javascript
js实现textarea限制输入字数
2017/02/13 Javascript
ES6中class类用法实例浅析
2017/04/06 Javascript
JS实现针对给定时间的倒计时功能示例
2017/04/11 Javascript
Angular使用Md5加密的解决方法
2017/09/16 Javascript
原生js实现3D轮播图
2020/03/21 Javascript
vue项目中openlayers绘制行政区划
2020/12/24 Vue.js
[40:13]Ti4 冒泡赛第二天 iG vs NEWBEE 2
2014/07/15 DOTA
[01:57]DOTA2上海特锦赛小组赛解说单车采访花絮
2016/02/27 DOTA
[01:06]DOTA2小知识课堂 Ep.02 吹风竟可解梦境缠绕
2019/12/05 DOTA
python调用windows api锁定计算机示例
2014/04/17 Python
Python中装饰器的一个妙用
2015/02/08 Python
使用Python制作获取网站目录的图形化程序
2015/05/04 Python
python获取元素在数组中索引号的方法
2015/07/15 Python
Python中方法链的使用方法
2016/02/23 Python
Pycharm运行加载文本出现错误的解决方法
2019/06/27 Python
python生成特定分布数的实例
2019/12/05 Python
高中生学习的自我评价
2013/12/14 职场文书
清明节扫墓活动方案
2014/03/02 职场文书
目标责任书范文
2014/04/14 职场文书
社会调查研究计划书
2014/05/01 职场文书
小学安全汇报材料
2014/08/14 职场文书
《蜜蜂引路》教学反思
2016/02/22 职场文书
mysql的Buffer Pool存储及原理
2022/04/02 MySQL
浅谈为什么我的 z-index 又不生效了
2022/07/15 HTML / CSS
canvas 中如何实现物体的框选
2022/08/05 Javascript