Blocksit插件实现瀑布流数据无限( 异步)加载


Posted in Javascript onJune 20, 2014

html代码:

<div style="width:1000px; overflow:hidden; margin:0 auto">  
  <div class="kppcl" style="width:1008px; position:relative" id="kppcl">
 
    <div class="kppcld">
      <div class="kppcld_t">
        <div class="kpic"><a href='{#url_reset("activity/detail","id_{#$item.id#}")#}'><img src="{#$item.logo#}" width="322" /></a></div>
        <div class="kname"><a href='{#url_reset("activity/detail","id_{#$item.id#}")#}'>{#$item.title#}</a></div>
        <div class="kinfor">
          <table width="100%" border="0" cellspacing="0" cellpadding="0">
            <tr>
              <th>时    间:</th>
              <td>{#$item.start_date#}-{#$item.end_date#}</td>
            </tr>
            <tr>
              <th>地    点:</th>
              <td>{#$item.area_name#}</td>
            </tr>
          </table>
        </div>
      </div>
      <div class="kppcld_b"></div>
    </div>
 
    <div class="kppcld">
      <div class="kppcld_t">
        <div class="kpic"><a href='{#url_reset("activity/detail","id_{#$item.id#}")#}'><img src="{#$item.logo#}" width="322" /></a></div>
        <div class="kname"><a href='{#url_reset("activity/detail","id_{#$item.id#}")#}'>{#$item.title#}</a></div>
        <div class="kinfor">
          <table width="100%" border="0" cellspacing="0" cellpadding="0">
            <tr>
              <th>时    间:</th>
              <td>{#$item.start_date#}-{#$item.end_date#}</td>
            </tr>
            <tr>
              <th>地    点:</th>
              <td>{#$item.area_name#}</td>
            </tr>
          </table>
        </div>
      </div>
      <div class="kppcld_b"></div>
    </div>
 
    <div class="kppcld">
      <div class="kppcld_t">
        <div class="kpic"><a href='{#url_reset("activity/detail","id_{#$item.id#}")#}'><img src="{#$item.logo#}" width="322" /></a></div>
        <div class="kname"><a href='{#url_reset("activity/detail","id_{#$item.id#}")#}'>{#$item.title#}</a></div>
        <div class="kinfor">
          <table width="100%" border="0" cellspacing="0" cellpadding="0">
            <tr>
              <th>时    间:</th>
              <td>{#$item.start_date#}-{#$item.end_date#}</td>
            </tr>
            <tr>
              <th>地    点:</th>
              <td>{#$item.area_name#}</td>
            </tr>
          </table>
        </div>
      </div>
      <div class="kppcld_b"></div>
    </div>
 
  </div>
 
  <div id="page" style="display: none">
    <div class="pages"><b class="page_icon">上一页</b><b>1</b><a href="?p=2">2</a><a href="?p=2" class="nextprev" rel="2">下一页</a></div>
  </div>
 
</div>

js代码

<script src="/js/blocksit.min.js"></script>
<script language="javascript" type="text/javascript">
  $(window).load( function() {
    $('#kppcl').BlocksIt({
      numOfCol: 3,
      offsetX: 5,
      offsetY: 5
    });
  });
 
  var current_p = 0;
  //滚动
  $(window).scroll(function(){
    // 当滚动到最底部以上100像素时, 加载新内容
    if ($(document).height() - $(this).scrollTop() - $(this).height()<100) {
      ajax_load_data();
    }
  });
  function ajax_load_data(){
    var next_p = $('#page').find('.nextprev').attr('rel');
    if(next_p && next_p != current_p){
      console.log('nextpage = '+next_p);
      current_p = next_p;
 
      $.ajax({
        url:'{#url_reset("request/front/ajax","","php")#}',
        data:{'act':'ajax_forum','p':next_p},
        dataType:'json',
        type:'post',
        beforeSend:function(){
          show_loading_body();
        },
        complete:function(){
          show_loading_body();
        },
        success:function(data){
          if(data.status != undefined && data.status == 'ok'){
            if(data.html){
              $('#kppcl').append(data.html).BlocksIt('reload');
            }
 
            if(data.pages_str){
              $('#page').html(data.pages_str);
            }
          }
        }
      });
    }
  }
</script>
Javascript 相关文章推荐
纯JavaScript实现HTML5 Canvas六种特效滤镜示例
Jun 28 Javascript
JS获取鼠标坐标的实例方法
Jul 18 Javascript
jQuery标签编辑插件Tagit使用指南
Apr 21 Javascript
JS中的Replace方法使用经验分享
May 20 Javascript
基于JS实现导航条之调用网页助手小精灵的方法
Jun 17 Javascript
详解vue-cli 脚手架项目-package.json
Jul 04 Javascript
js实现敏感词过滤算法及实现逻辑
Jul 24 Javascript
利用vue重构有赞商城的思路以及总结整理
Feb 21 Javascript
微信小程序实现左侧滑栏过程解析
Aug 26 Javascript
JavaScript复制变量三种方法实例详解
Jan 09 Javascript
vue-cli3.0实现一个多页面应用的历奇经历记录总结
Mar 16 Javascript
javascript单张多张图无缝滚动实例代码
May 10 Javascript
教你如何自定义百度分享插件以及bshare分享插件的分享按钮
Jun 20 #Javascript
jQuery.lazyload+masonry改良图片瀑布流代码
Jun 20 #Javascript
Node.js实现简单聊天服务器
Jun 20 #Javascript
SuperSlide2实现图片滚动特效
Jun 20 #Javascript
javascript实现十六进制颜色值(HEX)和RGB格式相互转换
Jun 20 #Javascript
js常用数组操作方法简明总结
Jun 20 #Javascript
JS实现闪动的title消息提醒效果
Jun 20 #Javascript
You might like
谈谈PHP语法(4)
2006/10/09 PHP
PHP使用Pear发送邮件(Windows环境)
2016/01/05 PHP
PHP实现基于PDO扩展连接PostgreSQL对象关系数据库示例
2018/03/31 PHP
thinkPHP框架乐观锁和悲观锁实例分析
2019/10/30 PHP
Javascript实现div的toggle效果实例分析
2015/06/09 Javascript
jQuery 1.9.1源码分析系列(十五)之动画处理
2015/12/03 Javascript
不能不知道的10个angularjs英文学习网站
2016/03/23 Javascript
JavaScript通过改变文字透明度实现的文字闪烁效果实例
2017/04/27 Javascript
vue 引入公共css文件的简单方法(推荐)
2018/01/20 Javascript
Vue实现table上下移动功能示例
2019/02/21 Javascript
JavaScript ES6 Class类实现原理详解
2020/05/08 Javascript
JavaScript ES 模块的使用
2020/11/12 Javascript
解决vue elementUI 使用el-select 时 change事件的触发问题
2020/11/17 Vue.js
js定时器出现第一次延迟的原因及解决方法
2021/01/04 Javascript
python去掉 unicode 字符串前面的u方法
2018/10/21 Python
PyQt5 实现字体大小自适应分辨率的方法
2019/06/18 Python
python aiohttp的使用详解
2019/06/20 Python
Python2.7版os.path.isdir中文路径返回false的解决方法
2019/06/21 Python
aws 通过boto3 python脚本打pach的实现方法
2020/05/10 Python
python新手学习使用库
2020/06/11 Python
使用Canvas操作像素的方法
2018/06/14 HTML / CSS
英国最专业的健身器材供应商之一:Best Gym Equipment
2017/12/22 全球购物
德国童装购物网站:NICKI´S.com
2018/04/20 全球购物
N.Peal官网:来自伦敦的高档羊绒品牌
2018/10/29 全球购物
荷兰网上药店:Drogisterij.net
2019/09/03 全球购物
如何用JQuery进行表单验证
2013/05/29 面试题
财务管理专业应届毕业生求职信
2013/09/22 职场文书
函授本科毕业生自我鉴定
2013/10/16 职场文书
秦兵马俑教学反思
2014/02/07 职场文书
好学生评语大全
2014/05/05 职场文书
空气环保标语
2014/06/12 职场文书
部门2014年度工作总结
2014/11/12 职场文书
优秀共青团员事迹材料
2014/12/25 职场文书
刑事附带民事代理词
2015/05/25 职场文书
个人工作总结怎么写?
2019/04/09 职场文书
使用 JavaScript 制作页面效果
2021/04/21 Javascript