移动端文章的瀑布流的实现。

  1.首先在前端html页面已经通过PHP代码循环完全数据。

 2.然后在js先全部隐藏,通过判断滑动到底部,每次加载一部分数据,直到数据全部显示完全。

js代码:

 

// 瀑布流
  • //获取文章的总长度
  • var liLength=$(".trim-content-active li").length;
  • //规定每次加载的数据条数
  • var page=10
  • //一共加载多少次---本案无用
  • var liH= Math.ceil(liLength/page);
  • //加载列表数量的初始值
  • var linn=0;
  • console.log(liLength,liH);
  • for(var i=page;i<liLength+1;i++) {
  • //首先显示十条,其余的都隐藏
  • $(".trim-content-active li").eq(i).hide();
  • console.log(linn, i,"linn")
  • //当滑到手机底部的时候
  • $(window).scroll(function () {
  • var scrollTop = $(this).scrollTop();
  • var scrollHeight = $(document).height();
  • var windowHeight = $(this).height();
  • if (scrollTop + windowHeight == scrollHeight) {
  • //滚动到底部执行事件
  • //当总数是10的倍数时
  • if(linn<liLength){
  • //todo 不应该算条数,应该算次数(现在是算条数)
  • linn = linn + page;
  • $(".trim-content-active li").eq(linn + page).prevAll().show();
  • $(".trim-content-active li").eq(linn + page).show();
  • console.log("正在加载中",linn,liLength);
  • //当总数没有规律时
  • }else if(linn>liLength){
  • //最后一条前面所有的兄弟都显示
  • $(".trim-content-active li").eq(liLength-1).prevAll().show();
  • //最后一条显示
  • $(".trim-content-active li").eq(liLength-1).show();
  • $(".trim-content-active>li:last-child").after("<section class=\"all-end\">\n" +
    " <i><img src=\"/public/static/sj/img/icon/icon-end.png\" alt=\"\"></i>\n" +
    " <p></p>\n" +
    " <span>已经翻到底啦</span>\n" +
    "</section>")
  • }else{
  • console.log("跳出")
  • }
  • }
  • });
  • }

 本文原创,转载请标明作者,违者必究!

posted on 2019-05-21 12:01  东西南北212  阅读(188)  评论(0编辑  收藏  举报