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

时间:2024-04-09 19:47:07 

自从腾讯微博上线以来,基本上就开始用了,一直到现在,作为一个开发人员,也看到了腾讯微博一直在不停的改变,也不知道大家有没有发现,腾讯微博提供两种加载数据的方式,一种是分页,一种是滚动浏览器滚动条加载数据,分页功能我想大家都做得太多了,今天我与大家分享一下我用滚动条滚动加载数据
下面开讲:
首先说一下思路,我用的是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="+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="+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来控制滚动事件的执行。

标签:浏览器,滚动条加载
0
投稿

猜你喜欢

  • 过期软件破解办法实例详解

    2024-05-02 17:38:03
  • 封装了一个Java数据库访问管理类

    2024-01-25 04:52:15
  • Python中的bytes类型用法及实例分享

    2022-12-19 01:50:42
  • 不要犯WEB字体编辑的10种错误

    2008-08-19 12:55:00
  • Python排序算法之插入排序及其优化方案详解

    2021-04-03 05:39:31
  • go语言学习之包和变量详解

    2024-04-26 17:29:27
  • Python学习笔记之字符串和字符串方法实例详解

    2021-07-13 19:13:16
  • 浅谈javascript:两种注释,声明变量,定义函数

    2024-04-16 09:06:06
  • 使用 XMLSPY 设计项目的 Schema 原型

    2010-08-24 18:25:00
  • 如何优雅安全的备份MySQL数据

    2024-01-28 01:07:31
  • 详解Python判定IP地址合法性的三种方法

    2021-12-02 14:35:10
  • django实现模板中的字符串文字和自动转义

    2023-10-18 16:49:46
  • MySQL外键设置的方法实例

    2024-01-19 14:10:42
  • 新年快乐! python实现绚烂的烟花绽放效果

    2022-01-15 13:18:00
  • SpringBoot配置数据库密码加密的实现

    2024-01-26 07:33:01
  • 全面了解MySql中的事务

    2024-01-14 08:28:08
  • Python 排序最长英文单词链(列表中前一个单词末字母是下一个单词的首字母)

    2023-08-26 16:08:33
  • 如何查看SQLSERVER中某个查询用了多少TempDB空间

    2024-01-16 06:40:21
  • pandas 按照特定顺序输出的实现代码

    2023-02-04 19:35:17
  • Python微信库:itchat的用法详解

    2022-02-17 10:54:33
  • asp之家 网络编程 m.aspxhome.com