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 面向对象编程  function是方法(函数)
Sep 17 Javascript
JQuery遍历DOM节点的方法
Jun 11 Javascript
基于jQuery实现复选框是否选中进行答题提示
Dec 10 Javascript
BootStrap Fileinput的使用教程
Dec 30 Javascript
详解vue模拟加载更多功能(数据追加)
Jun 23 Javascript
一个简易的js图片轮播效果
Jul 22 Javascript
微信小程序-滚动消息通知的实例代码
Aug 03 Javascript
BootStrap Fileinput插件和Bootstrap table表格插件相结合实现文件上传、预览、提交的导入Excel数据操作步骤
Aug 07 Javascript
vue升级之路之vue-router的使用教程
Aug 14 Javascript
微信小程序基于movable-view实现滑动删除效果
Jan 08 Javascript
vue父子组件间引用之$parent、$children
May 20 Javascript
原生js实现九宫格拖拽换位
Jan 26 Javascript
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
动漫定律:眯眯眼都是怪物!这些角色狠话不多~
2020/03/03 日漫
一个PHP验证码类代码分享(已封装成类)
2011/07/17 PHP
PHP中preg_match函数正则匹配的字符串长度问题
2015/05/27 PHP
php通过执行CutyCapt命令实现网页截图的方法
2016/09/30 PHP
Yii2框架数据验证操作实例详解
2018/05/02 PHP
Jquery Select操作方法集合脚本之家特别版
2010/05/17 Javascript
JS构建页面的DOM节点结构的实现代码
2011/12/09 Javascript
下拉框select的绑定示例
2014/09/04 Javascript
Javascript 完美运动框架(逐行分析代码,让你轻松了运动的原理)
2015/01/23 Javascript
Jquery实现遮罩层的方法
2015/06/08 Javascript
不依赖Flash和任何JS库实现文本复制与剪切附源码下载
2015/10/09 Javascript
js实现索引图片切换效果
2015/11/21 Javascript
详解JS中的快速排序与冒泡
2017/01/10 Javascript
JavaScript控制输入框中只能输入中文、数字和英文的方法【基于正则实现】
2017/03/03 Javascript
vue学习笔记之vue1.0和vue2.0的区别介绍
2017/05/17 Javascript
js实现日期显示的一些操作(实例讲解)
2017/07/27 Javascript
Vuex 使用及简单实例(计数器)
2018/08/29 Javascript
Electron autoUpdater实现Windows安装包自动更新的方法
2018/12/24 Javascript
Vuex mutitons和actions初使用详解
2019/03/04 Javascript
在Express中提供静态文件的实现方法
2019/10/17 Javascript
jQuery插件simplePagination的使用方法示例
2020/04/28 jQuery
Vue页面跳转传递参数及接收方式
2020/09/09 Javascript
微信小程序实现modal弹出框遮罩层组件(可带文本框)
2020/12/20 Javascript
python简单猜数游戏实例
2015/07/09 Python
tensorflow mnist 数据加载实现并画图效果
2020/02/05 Python
年终考核评语
2014/01/19 职场文书
社区包粽子活动方案
2014/01/21 职场文书
银行简历自我评价
2014/02/11 职场文书
亲子拓展活动方案
2014/02/20 职场文书
企业新年寄语
2014/04/04 职场文书
园林专业毕业生自荐信
2014/07/04 职场文书
财会专业大学生求职信
2014/09/26 职场文书
纪检监察立案决定书
2015/06/24 职场文书
高效笔记技巧分享:学会这些让你不再困扰
2019/09/04 职场文书
漫画「古见同学有交流障碍症」第25卷封面公开
2022/03/21 日漫
《艾尔登法环》Boss腐烂树灵很有可能是《黑暗之魂3》的一个废案
2022/04/11 其他游戏