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 相关文章推荐
音乐播放用的的几个函数
Sep 07 Javascript
图片自动缩小的js代码,用以防止图片撑破页面
Mar 12 Javascript
JavaScript中变量提升 Hoisting
Jul 03 Javascript
jquery中加载图片自适应大小主要实现代码
Aug 23 Javascript
JavaScript字符串对象split方法入门实例(用于把字符串分割成数组)
Oct 16 Javascript
JavaScript中的变量作用域介绍
Dec 31 Javascript
JavaScript简单判断复选框是否选中及取出值的方法
Aug 13 Javascript
给before和after伪元素设置js效果的方法
Dec 04 Javascript
JQuery核心函数是什么及使用方法介绍
May 03 Javascript
jquery动态遍历Json对象的属性和值的方法
Jul 27 Javascript
node koa2实现上传图片并且同步上传到七牛云存储
Jul 31 Javascript
Vue组件之自定义事件的功能图解
Feb 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
使用pthreads实现真正的PHP多线程(需PHP5.3以上版本)
2014/05/05 PHP
php 在线导入mysql大数据程序
2015/06/11 PHP
thinkphp的dump函数无输出实例代码
2016/11/15 PHP
Ajax::prototype 源码解读
2007/01/22 Javascript
js静态方法与实例方法分析
2011/07/04 Javascript
JS+CSS实现简单滑动门(滑动菜单)效果
2015/09/19 Javascript
AngularJs实现ng1.3+表单验证
2015/12/10 Javascript
JavaScript比较当前时间是否在指定时间段内的方法
2016/08/02 Javascript
详解AngularJs中$sce与$sceDelegate上下文转义服务
2016/09/21 Javascript
微信小程序 picker 组件详解及简单实例
2017/01/10 Javascript
JS实现京东首页之页面顶部、Logo和搜索框功能
2017/01/12 Javascript
微信小程序 跳转传参数与传对象详解及实例代码
2017/03/14 Javascript
Bootstrap模态框插件使用详解
2017/05/11 Javascript
vue中component组件的props使用详解
2017/09/04 Javascript
vue.js-div滚动条隐藏但有滚动效果的实现方法
2018/03/03 Javascript
vue实现随机验证码功能的实例代码
2019/04/30 Javascript
vue 实现特定条件下绑定事件
2019/11/09 Javascript
深入浅析golang zap 日志库使用(含文件切割、分级别存储和全局使用等)
2020/02/19 Javascript
Python 时间操作例子和时间格式化参数小结
2014/04/24 Python
详解python的几种标准输出重定向方式
2016/08/15 Python
详解Python3操作Mongodb简明易懂教程
2017/05/25 Python
利用python实现短信和电话提醒功能的例子
2019/08/08 Python
pycharm设置默认的UTF-8编码模式的方法详解
2020/06/01 Python
Python中bisect的用法及示例详解
2020/07/20 Python
新加坡航空官方网站:Singapore Airlines
2016/10/13 全球购物
纽约著名的服装辅料来源:M&J Trimming
2017/07/26 全球购物
豪华床上用品、床单和浴室必需品:Peacock Alley
2019/09/04 全球购物
幼儿园小班评语
2014/04/18 职场文书
一年级学生评语大全
2014/04/21 职场文书
绿色环保口号
2014/06/12 职场文书
试用期员工工作自我评价
2014/09/10 职场文书
专题组织生活会发言材料
2014/10/17 职场文书
2015年护士医德医风自我评价
2015/03/03 职场文书
离婚被告答辩状
2015/05/22 职场文书
物业管理交接协议书
2016/03/24 职场文书
动画「半妖的夜叉姬」新BD特典图公开
2022/03/22 日漫