jQuery瀑布流加载更多数据

前段时间,项目中用到了瀑布流加载更多数据,主要代码如下:

$(window).scroll(function () {
    var contentH = $(document).height();    //内容高度
    var scrollH = $(this).scrollTop();    //滚动高度
    var viewH = $(this).height();    //可视高度
    if(contentH-viewH-scrollH<100){    //当滚动条距离底部高度<100px
        alert('滚动条距离底部不到100啦!');
        //此处是滚动条距离底部100px时触发的事件,在这里写要加载的数据,或者是其他操作,我用了alert进行代替
    }
});

注释:

  1. contentH : 内容高度,即已经加载的内容的高度;
  2. scrollH : 滚动高度,即滚动条滚动的距离;
  3. viewH : 可视高度,即容器的高度。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
实现jquery下拉瀑布的步骤如下: 1. 引入jquery库和瀑布插件masonry。 ```html <script src="https://code.jquery.com/jquery-3.5.1.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/masonry/4.2.2/masonry.pkgd.min.js"></script> ``` 2. 创建一个包含内容的容器。 ```html <div id="content"> <!-- 内容项 --> </div> ``` 3. 使用ajax获取数据。 ```javascript var page = 1; // 默认第一页 var isLoading = false; // 是否正在中 function getData() { if (isLoading) return; // 如果已经在中,则不进行请求 isLoading = true; // 设置为正在中 $.ajax({ type: 'GET', url: 'your-api-url', data: { page: page }, success: function(res) { // 成功获取数据后,page数一,isLoading设为false page++; isLoading = false; // 处理数据并渲染页面 render(res.data); }, error: function() { isLoading = false; console.log('请求失败'); } }); } ``` 4. 渲染数据并使用瀑布布局。 ```javascript function render(data) { var content = $('#content'); var html = ''; // 遍历数据,生成对应的 HTML 代码 for (var i = 0; i < data.length; i++) { html += '<div class="item">' + data[i].title + '</div>'; } // 将 HTML 插入到容器中 content.append(html); // 使用瀑布布局 content.imagesLoaded(function() { content.masonry({ itemSelector: '.item', columnWidth: 240, // 每列的宽度 gutter: 20 // 列与列之间的距离 }); }); } ``` 5. 监听滚动事件,当滚动到底部时触发数据的函数。 ```javascript $(window).scroll(function() { if ($(document).scrollTop() + $(window).height() >= $(document).height()) { getData(); } }); ``` 这样就可以实现jquery下拉瀑布效果了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值