`
keron
  • 浏览: 30932 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

滚动加载

 
阅读更多

1.body滚动时

     $(document).ready(function () {

 

});

 

2.div滚动时

  

Google阅读器上 有一个AJAXscollLoad效 果很不错,就是阅读项目时不需要翻页,浏览器滚动条往下拉到一定位置时自动加载新的一批项目进来,一直到所有项目加载完为止。对于我来说 再好不过了,因为我很不喜欢翻页,尤其是输入页码再定位到页。要知道,数据量增加很频繁时,要通过定位页码来找到目标数据似乎并没有什么意义。我觉得用户 体验成熟的WEB应用程序应当引导用户使用TAG或搜索等功能来找到目标数据。至于浏览数据,尤其是浏览最新的数据,利用浏览器滚动条来加载,是很好的尝 试……

我试着用jquery来实现这个功能。先要得到滚动条的总长属性值:scrollHeight,还有滚动条当前位置属性 值:scrollTop。然后通过计算,若当前值位于总长值三分之二时加载新数据。假设DOM上有一个元素为<div id=”mypage”></div>,该元素overflow样式为scroll,也就是元素中的内容溢出元素指定高度时启用滚动 条。利用jquery的load方法为元素加载一个已经存在的文件,我假设它是table.html。这个文件的内容可以是足以使浏览器滚屏的一张数据 表。

<script type=”text/javascript” src=”jquery.js“>//加载jquery库</script>
<script type=”text/javascript”>

var hght=0;//初始化滚动条总长
var top=0;//初始化滚动条的当前位置
$(document).ready(function(){//DOM的onload事件
$(”#mypage”).load(”table.html”);//table.html的内容被加载到mypage元素

$(”#mypage”).scroll( function() {//定义滚动条位置改变时触发的事件。
    hght=this.scrollHeight;//得到滚动条总长,赋给hght变量
    top=this.scrollTop;//得到滚动条当前值,赋给top变量
});
});

setInterval(”cando();”,2000);//每隔2秒钟调用一次cando函数来判断当前滚动条位置。

function cando(){
if(top>parseInt(hght/3)*2)//判断滚动条当前位置是否超过总长的2/3,parseInt为取整函数
    show();//如果是,调用show函数加载内容。
}

function show(){
$.get(”table.html”, function(data){//利用jquery的get方法得到table.html内容
    $(”#mypage”).append(data);//用append方法追加内容到mypage元素。
    hght=0;//恢复滚动条总长,因为$(”#mypage”).scroll事件一触发,又会得到新值,不恢复的话可能会造成判断错误而再次加载……
    top=0;//原因同上。
});
}

</script>
<div id=”mypage”></div>

为 什么要隔2秒钟调用一次判断呢?因为只要$(”#mypage”).scroll事件一被触发,就会影hght和top值,这个值可能总是满足cando 函数的判断,也就是top值总是位于hght的三分之二。因此可能会多次加载造成服务器负担加重。而每加载一次后把hght和top值赋0,也是这个原 因。

这段代码的效果就是只要元素mypage的滚动条位置位于滚动条总长的三分之二时,追加table.html的内容到元素mypage 中去。当然这样运行是无休止地加载下去。在真正的AJAX运用中,table.html可以换成asp或php脚本,接收get或post参数来进行处 理,然后返回有意义的数据。jquery的get方法可以设置get方式的参数数据,比如:

$.get(”test.php”, { name: “boho”, id: “1″ } );

相当于http://hostlocal/test.php?name=boho&id=1这种形式的http访问。然后通过get方法的回调函数来获取test.php输出的内容:

$.get(”test.php”, {name:”boho”,id:”1″},function(data){
alert(”Data Loaded: ” + data);
});

<script type="text/javascript"></script>

分享到:
评论

相关推荐

    Axure设计-滚动加载(中继器 )

    Axure设计—滚动加载(中继器 );Axure设计—滚动加载(中继器 );Axure设计—滚动加载(中继器 )Axure设计—滚动加载(中继器 )Axure设计—滚动加载(中继器 );Axure设计—滚动加载(中继器 )

    jQuery无限滚动加载图片瀑布流代码

    **jQuery无限滚动加载图片瀑布流代码详解** 在网页设计中,瀑布流布局(Masonry Layout)因其独特的展示方式,能够使页面元素排列得既美观又节省空间,特别适合用于图片展示类网站。jQuery无限滚动加载图片瀑布流...

    Ajax JQ 滚动加载页面

    Ajax(Asynchronous JavaScript and XML)和jQuery(JQ)结合的滚动加载页面技术,是现代网页开发中的一个重要实践,尤其在大数据量、高交互性的网站中广泛应用。这种技术通过监听用户的滚动行为,当页面接近底部时...

    手机端无限滚动加载

    无限滚动加载,也被称为“滚动触发加载”或“懒加载”,是现代网页和移动应用设计中常见的一种技术。它的核心思想是在用户滚动页面到底部时,动态地加载更多内容,而不是一次性显示所有信息,从而提高了页面加载速度...

    jquery 滚动加载

    jQuery滚动加载,也被称为无限滚动或懒加载,是网页设计中一种常见的优化技术。它允许网页在用户滚动页面到底部时动态加载更多内容,而无需手动点击“加载更多”按钮或者刷新整个页面。这种技术在新闻网站、社交媒体...

    360网站全屏滚动加载

    在IT行业中,全屏滚动加载是一种常见的网页设计技术,它能提供流畅的用户体验,尤其适用于展示型网站或产品介绍页面。360网站全屏滚动加载的实现涉及到多个技术领域,包括HTML、CSS3和JavaScript。下面将详细介绍...

    jquery mobile 滚动加载内容

    当我们谈论“jQuery Mobile 滚动加载内容”时,我们实际上是在讨论一种动态加载技术,即在用户滚动页面到接近底部时,通过 AJAX(异步 JavaScript 和 XML)技术从服务器获取并插入更多内容,以实现无尽滚动的效果。...

    jquerymobile滚动加载内容

    本篇将深入探讨如何利用jQuery Mobile和Ajax实现滚动加载内容这一功能,这对于创建无限滚动的网页尤其重要。 一、jQuery Mobile 概述 jQuery Mobile是一个基于jQuery库的轻量级框架,它为移动设备提供了一套统一的...

    php滚动加载加分页小实例

    滚动加载,也称为无限滚动或懒加载,是一种网页设计技术,当用户滚动页面时,新内容会自动加载,无需点击“下一页”按钮。这种技术提高了用户体验,尤其是在处理大量数据时,如社交媒体、新闻网站和电子商务平台。 ...

    Jquery实现手机端上拉滚动加载更多数据

    在移动设备上,为了优化用户体验,常常需要使用到“上拉滚动加载更多”功能,这在Jquery中可以通过实现特定的脚本逻辑来达成。这种技术通常被应用于新闻列表、商品展示等需要显示大量数据的场景,使得用户不必翻页,...

    JS/dom高性能滚动加载

    在JavaScript和DOM编程中,高性能滚动加载是一种常见的优化技术,主要应用于大数据量、长列表的网页,如社交媒体新闻 feed 或者电商商品列表。这种技术旨在提高用户体验,避免因频繁的DOM操作导致页面卡顿,尤其是在...

    jQuery无限滚动加载图片瀑布流代码.zip

    【jQuery无限滚动加载图片瀑布流】是一种常见的网页设计技术,用于优化用户体验,特别是在展示大量图片内容的网站上。这种技术允许用户在滚动页面时,图片会自动加载,而不是一次性加载所有内容,从而减少了页面初次...

    下拉刷新滚动加载

    listview实现下拉刷新,滚动加载

    vuewaterfall2基于Vuejs瀑布流组件宽高自适应滚动加载

    这个组件的一大特点是它的滚动加载功能,能够根据用户滚动页面的行为动态加载更多内容,从而提高用户体验并减少初次加载时的数据量。 在瀑布流布局中,元素通常是垂直排列的,每一列的高度不固定,使得布局看起来像...

    jquery响应式网站瀑布流布局带图片延迟无限滚动加载效果

    在这个项目中,"jquery响应式网站瀑布流布局带图片延迟无限滚动加载效果"主要涉及以下几个关键知识点: 1. **jQuery**:jQuery简化了JavaScript的DOM操作、事件处理、动画设计和Ajax交互。在瀑布流布局中,jQuery...

    瀑布流+无限滚动加载数据

    在用户滚动页面时,内容会不断加载,仿佛没有尽头,这就是所谓的“无限滚动加载”。 瀑布流的核心实现依赖于JavaScript库,其中两个关键的库在提供的文件中已经包含:`jquery-1.4.2.min.js`是jQuery库,`jquery....

    无刷新联级,滚动条滚动加载数据

    在现代Web应用中,用户体验是至关重要的,"无刷新联级,滚动条滚动加载数据"是一种提高用户体验的有效技术。这种技术通常被称为无限滚动或者滚动加载,它允许用户在不刷新整个页面的情况下,通过滚动页面来加载更多...

    页面内容滚动加载

    页面内容滚动加载是一种常见的网页优化技术,也被称为“无限滚动”或“滚动侦测加载”。这种技术允许网页在用户滚动到页面底部时自动加载更多内容,而不是一次性加载所有内容,从而提高了网页的加载速度和用户体验。...

    滚动加载.zip

    滚动加载,也称为无限滚动或滚动刷新,是现代网页和应用程序设计中的一种常见技术。它允许用户在不离开当前页面的情况下,通过滚动页面自动加载更多内容。这种设计大大提升了用户体验,尤其是在处理大量数据如新闻 ...

    vue中elementUI的table滚动加载.zip

    在这个“vue中elementUI的table滚动加载.zip”压缩包中,我们主要探讨的是ElementUI Table组件的滚动加载功能。 滚动加载,也称为无限滚动或分页加载,是一种优化用户体验的技术,当用户滚动到页面底部时,会自动...

Global site tag (gtag.js) - Google Analytics