jquery scroll 自动加载内容

当拖动滚动条时,自动加载内容
</pre><pre name="code" class="javascript">1. 首先计算li的总数
</pre><pre code_snippet_id="683281" snippet_file_name="blog_20150603_5_4812406" name="code" class="javascript">2. 计算每一行显示的li的数量
</pre><pre code_snippet_id="683281" snippet_file_name="blog_20150603_7_6227327" name="code" class="javascript">3. 计算li自身的高度
</pre><pre code_snippet_id="683281" snippet_file_name="blog_20150603_9_8689022" name="code" class="javascript">4. 计算li的margin-bottom高度
</pre><pre code_snippet_id="683281" snippet_file_name="blog_20150603_11_4040658" name="code" class="javascript">///////////要实现的效果,当滚动条向下滚动到快接近底部时,自动加载内容
</pre><pre code_snippet_id="683281" snippet_file_name="blog_20150603_13_9326253" name="code" class="javascript">首先计算滚动条的scrollTop,即距离滚动条顶部的距离,计为scroll_top
</pre><pre code_snippet_id="683281" snippet_file_name="blog_20150603_15_5135237" name="code" class="javascript">其次,计算出接近滚动条底部的距离,计为scroll_height
</pre><pre code_snippet_id="683281" snippet_file_name="blog_20150603_17_420833" name="code" class="javascript">再次,当 <span style="font-family: Arial, Helvetica, sans-serif;">scroll_top >  </span><span style="font-family: Arial, Helvetica, sans-serif;">scroll_height 时,自动加载内容,比如通过ajax请求获取数据</span>
<span style="font-family:Arial, Helvetica, sans-serif;">
</span>
<span style="font-family:Arial, Helvetica, sans-serif;">重点就是如何计算出 scroll_height 这个高度</span>
<span style="font-family:Arial, Helvetica, sans-serif;">
</span>
<span style="font-family:Arial, Helvetica, sans-serif;">代码实现如下:
</span><div>
</div>
</pre><pre code_snippet_id="683281" snippet_file_name="blog_20150603_23_4915199" name="code" class="javascript">

<pre name="code" class="javascript"><!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
<ul id="scroll_ul"  current_page="1">
    <li><img src="1.jpg" /></li>
    <li><img src="1.jpg" /></li>
    <li><img src="1.jpg" /></li>
    <li><img src="1.jpg" /></li>
    <li><img src="1.jpg" /></li>
    <li><img src="1.jpg" /></li>
    <li><img src="1.jpg" /></li>
    <li><img src="1.jpg" /></li>
    <li><img src="1.jpg" /></li>
    <li><img src="1.jpg" /></li>
    <li><img src="1.jpg" /></li>
    <li><img src="1.jpg" /></li>
    <li><img src="1.jpg" /></li>
    <li><img src="1.jpg" /></li>
    <li><img src="1.jpg" /></li>
    <li><img src="1.jpg" /></li>
    <li><img src="1.jpg" /></li>
    <li><img src="1.jpg" /></li>
    <li><img src="1.jpg" /></li>
    <li><img src="1.jpg" /></li>
    <li><img src="1.jpg" /></li>
    <li><img src="1.jpg" /></li>
    <li><img src="1.jpg" /></li>
    <li><img src="1.jpg" /></li>
    <li><img src="1.jpg" /></li>
    <li><img src="1.jpg" /></li>
    <li><img src="1.jpg" /></li>
    <li><img src="1.jpg" /></li>
    <li><img src="1.jpg" /></li>
    <li><img src="1.jpg" /></li>
    <li><img src="1.jpg" /></li>
    <li><img src="1.jpg" /></li>
    <li><img src="1.jpg" /></li>
    <li><img src="1.jpg" /></li>
    <li><img src="1.jpg" /></li>
    <li><img src="1.jpg" /></li>
    <li><img src="1.jpg" /></li>
    <li><img src="1.jpg" /></li>
    <li><img src="1.jpg" /></li>
    <li><img src="1.jpg" /></li>
    <li><img src="1.jpg" /></li>
    <li><img src="1.jpg" /></li>
    <li><img src="1.jpg" /></li>

</ul>
<style type="text/css">
    ul{
        width:350px;
        height:500px;
        list-style-type: none;
        overflow-y: scroll;
        padding: 8px;
        border:1px solid #acacac;
    }

    ul li{
        width:100px;
        height:200px;
        margin-left: 10px;
        float: left;
        margin-bottom: 10px;
    }

    img{
        width:100px;
        height:200px;
    }

</style>
<script type="text/javascript" src="jquery-1.11.3.js"></script>
<script type="text/javascript">
$("#scroll_ul").on("scroll", function(evt){
    var ul_height = $(this).height();
    var scroll_top = $(this).scrollTop();
    var li = $("#scroll_ul li").length;

    var li_height = $("#scroll_ul li").eq(0).height();
    var li_margin_buttom = $("#scroll_ul li").eq(0).css("margin-bottom").replace("px", '');

    var li_list_height = Math.ceil((li-9)/3);

    var scroll_height = li_list_height*( parseInt(li_height) + parseInt(li_margin_buttom));

    if(scroll_top > scroll_height) {
        var page = parseInt( $(this).attr("current_page") );
        $(this).attr("current_page", page+1);
        $("#scroll_ul").append($("#scroll_ul").children("li").eq(0).clone());

        $.ajax({
            'url':'',
            'type':"post",
            'async':true,
            'data':{"page":page+1},
            'success':function(){

            }

        });
    }

});

</script>

</body>
</html>

时间: 2024-12-23 10:33:16

jquery scroll 自动加载内容的相关文章

页面滚动动态加载数据,页面下拉自动加载内容 jquery

<!DOCTYPE=html> <html> <head> < script src="js/jquery.js" type="text/javascript"></ script> < script type="text/javascript"> $(document).ready(function(){ var range = 50; //距下边界长度/单位px var

jquery列表自动加载更多

<div id="list_box"></div> <div id="getMore" style="position:fixed; bottom:0; opacity:0.7; height:24px; line-height:24px; background:#fff; color:#000;">更多内容正在加载...</div> <script> var cur_page = 0;

滚动条滑至底部自动加载内容

css: <style type="text/css"> body{ background-color: #808080; } #main{ margin:0 auto; width: 960px; } #content{ position: absolute; width: 960px; } #img{ margin: 0; padding: 0; } #img li{ list-style-type: none; background-color: salmon; ma

jquery easyui tab加载内容的几种方法

转:http://my.oschina.net/u/2331760/blog/391937?fromerr=saqeoxxB jQuery Easyui 的tabs插件有两种方式加载某个tab(标签页)上的内容:“href远程请求”和“content本地内容”,本文就两种方式的优缺点进行简单分析和思考. 两者特点: href方式加载数据的特点: content方式加载数据的特点: 简单总结: href常见问题: 1.href只加载目标URL的html片段 2.短暂的页面混乱: 3.html片段的

[JS前端开发] js/jquery控制页面动态加载数据 滑动滚动条自动加载事件

页面滚动动态加载数据,页面下拉自动加载内容 相信很多人都见过瀑布流图片布局,那些图片是动态加载出来的,效果很好,对服务器的压力相对来说也小了很多 有手机的相信都见过这样的效果:进入qq空间,向下拉动空间,到底部时,会动态加载剩余的说说或者是日志 今天我们就来看看他们的实现思路和js控制动态加载的代码 下面的代码主要是控制滚动条下拉时的加载事件的 在下面代码说明出,写上你的操作即可,无论是加载图片还是加载记录数据  都可以 别忘了引用jquery类库 [JavaScript] 纯文本查看 复制代码

手机H5页面,滑动到底部自动加载下一页内容

做公众号项目中有如下场景,一个H5页面有列表数据,不考虑一次加载所有数据,故需要分页操作,解决方案为滑动到底部自动加载下一页内容.直接在H5的js当中实现. 主要使用jquery的scroll()方法: 当用户滚动指定的元素时,会发生 scroll 事件. scroll 事件适用于所有可滚动的元素和 window 对象(浏览器窗口). scroll() 方法触发 scroll 事件,或规定当发生 scroll 事件时运行的函数. 代码如下: $(window).scroll(function()

基于JQuery实现滚动到页面底端时自动加载更多信息

基于JQuery实现滚动到页面底端时自动加载更多信息 关键代码: 代码如下: var stop=true; $(window).scroll(function(){ totalheight = parseFloat($(window).height()) + parseFloat($(window).scrollTop()); if($(document).height() <= totalheight){ if(stop==true){ stop=false; $.post("ajax.

笔记-移动端滑动到底部自动加载下一页内容

公司微信公众号的网页由ThinkPHP框架的模板生成,由一个需求是滑动到底部时自动加载下一页内容. 1.网页结构 网页分为两个部分,顶部固定导航栏,下部有一个page容器,内部滚动显示. 2.加载下一页的流程 当滑动到底部时,发送ajax请求下一页内容,内容返回后,将内容拼接成HTML结构后插入原有的page下. 页面是后端已经分好的,所以ajax请求的数据中包含一个currentpage变量,这个变量每次请求时自增1,表示请求下一页. 3.如何实现 想着原理比较简单,所以自己实现了一下,实现思

jQuery 滚动条下拉加载内容

现在很多网站为了更好的用户体验,那么就会预先加载一部分内容,等到滚动条下拉到底部的时候,然后使用 ajax或其它技术,请求更多的内容,这样会使网页的用户体验会更好些,那么这个是怎么样做到的呢?现在就在这里提供一种思路出来... $(function(){ //思路是:如果内容区域 小于等于 可视区高度加滚动条的高度的话那么就进行加载... $(window).scroll(function(){ // document 文档高度 var docHeight = $(document).heigh