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工作常用实例 使用AJAX使网页进行异步更新
Jul 26 Javascript
jquery ajaxSubmit 异步提交的简单实现
Feb 28 Javascript
jQuery使用之设置元素样式用法实例
Jan 19 Javascript
JavaScript中字符串分割函数split用法实例
Apr 07 Javascript
JavaScript中对DOM节点的访问、创建、修改、删除
Nov 16 Javascript
Javascript技术难点之apply,call与this之间的衔接
Dec 04 Javascript
js右下角弹出提示框示例代码
Jan 12 Javascript
Jquery EasyUI Datagrid右键菜单实现方法
Dec 30 Javascript
JavaScript获取键盘按键的键码(参照表)
Jan 10 Javascript
angularjs+bootstrap菜单的使用示例代码
Mar 07 Javascript
使用Vue.js中的过滤器实现幂方求值的方法
Aug 27 Javascript
JavaScript页面加载事件实例讲解
Sep 01 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
我的php学习笔记(毕业设计)
2012/02/21 PHP
php日期操作技巧小结
2016/06/25 PHP
PHP基于openssl实现非对称加密代码实例
2020/06/19 PHP
jquery ajax 简单范例(界面+后台)
2013/11/19 Javascript
JS+HTML5实现上传图片预览效果完整实例【测试可用】
2017/04/20 Javascript
JS简单实现点击跳转登陆邮箱功能的方法
2017/10/31 Javascript
微信小程序倒计时功能实现代码
2017/11/09 Javascript
Vue 获取数组键名的方法
2018/06/21 Javascript
微信小程序CSS3动画下拉菜单效果
2018/11/04 Javascript
vue-cli 构建骨架屏的方法示例
2018/11/08 Javascript
vue中$refs, $emit, $on, $once, $off的使用详解
2019/05/26 Javascript
js实现蒙版效果
2020/01/11 Javascript
python编程开发之textwrap文本样式处理技巧
2015/11/13 Python
Tensorflow实现卷积神经网络用于人脸关键点识别
2018/03/05 Python
python 除法保留两位小数点的方法
2018/07/16 Python
python实现点对点聊天程序
2018/07/28 Python
django框架自定义模板标签(template tag)操作示例
2019/06/24 Python
Python 矩阵转置的几种方法小结
2019/12/02 Python
PyQt5中多线程模块QThread使用方法的实现
2020/01/31 Python
Keras设定GPU使用内存大小方式(Tensorflow backend)
2020/05/22 Python
纯CSS3实现移动端展开和收起效果的示例代码
2020/04/26 HTML / CSS
The Hut德国站点:时装、家居用品、美容等
2016/09/23 全球购物
美国生日蛋糕店:Bake Me A Wish!
2017/02/08 全球购物
Chain Reaction Cycles俄罗斯:世界上最大的在线自行车商店
2019/08/27 全球购物
香港莎莎官网Sasa.com:亚洲著名国际化妆品商城
2019/11/10 全球购物
是什么让J2EE适合用来开发多层的分布式的应用
2015/01/16 面试题
《蓝色的树叶》教学反思
2014/02/24 职场文书
中式结婚主持词
2014/03/14 职场文书
安全演讲稿大全
2014/05/09 职场文书
优秀员工推荐信
2014/05/10 职场文书
2014年小学教师工作自我评价
2014/09/22 职场文书
体育活动总结
2015/02/04 职场文书
2016年大学生寒假社会实践心得体会
2015/10/09 职场文书
2015年大学组织委员个人工作总结
2015/10/23 职场文书
分析SQL窗口函数之取值窗口函数
2022/04/21 Oracle
MySQL数据管理操作示例讲解
2022/12/24 MySQL