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 相关文章推荐
JS 建立对象的方法
Apr 21 Javascript
onkeydown事件解决按回车键直接提交数据的需求
Apr 11 Javascript
JS localStorage实现本地缓存的方法
Jun 22 Javascript
js检测浏览器版本、核心、是否移动端示例
Apr 24 Javascript
jQuery中dequeue()方法用法实例
Dec 29 Javascript
js在指定位置增加节点函数insertBefore()用法实例
Jan 12 Javascript
JavaScript学习笔记之基础语法
Jan 22 Javascript
深究AngularJS如何获取input的焦点(自定义指令)
Jun 12 Javascript
vue打包相关细节整理(小结)
Sep 28 Javascript
利用jsonp解决js读取本地json跨域的问题
Dec 11 Javascript
vue的keep-alive用法技巧
Aug 15 Javascript
js中位数不足自动补位扩展padLeft、padRight实现代码
Apr 06 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与MySQL开发中页面出现乱码的一种解决方法
2007/07/29 PHP
PHP学习散记_编码(json_encode 中文不显示)
2011/11/10 PHP
PHP的array_diff()函数在处理大数组时的效率问题
2011/11/27 PHP
php学习之function的用法
2012/07/14 PHP
PHP系列学习之日期函数使用介绍
2012/08/18 PHP
PHP中的命名空间相关概念浅析
2015/01/22 PHP
php文件缓存类用法实例分析
2015/04/22 PHP
php使用pclzip类实现文件压缩的方法(附pclzip类下载地址)
2016/04/30 PHP
CI框架整合smarty步骤详解
2016/05/19 PHP
PHP中让json_encode不自动转义斜杠“/”的方法
2017/02/28 PHP
通过ifame指向的页面高度调整iframe的高度
2006/10/05 Javascript
JavaScript等比例缩放图片控制超出范围的图片
2013/08/06 Javascript
让网页跳转到指定位置的jquery代码非书签
2013/09/06 Javascript
Jquery创建一个层当鼠标移动到层上面不消失效果
2013/12/12 Javascript
js判断文本框剩余可输入字数的方法
2015/02/04 Javascript
关于事件mouseover ,mouseout ,mouseenter,mouseleave的区别
2015/10/12 Javascript
分享jQuery网页元素拖拽插件
2020/12/01 Javascript
Node.js检测端口(port)是否被占用的简单示例
2016/09/29 Javascript
微信小程序Redux绑定实例详解
2017/06/07 Javascript
javascript 中事件冒泡和事件捕获机制的详解
2017/09/01 Javascript
微信小程序实现文字跑马灯
2020/05/26 Javascript
javascript写一个ajax自动拦截并下载数据代码实例
2019/09/07 Javascript
vue实现将数据存入vuex中以及从vuex中取出数据
2019/11/08 Javascript
详解nginx配置vue h5 history去除#号
2020/11/09 Javascript
python:socket传输大文件示例
2017/01/18 Python
Python实现将json文件中向量写入Excel的方法
2018/03/26 Python
实用自动化运维Python脚本分享
2018/06/04 Python
Python面向对象编程基础实例分析
2020/01/17 Python
python函数定义和调用过程详解
2020/02/09 Python
python plt可视化——打印特殊符号和制作图例代码
2020/04/17 Python
浅谈Python中的字符串
2020/06/10 Python
Chantelle仙黛尔内衣美国官网:法国第一品牌内衣
2018/07/26 全球购物
什么是makefile? 如何编写makefile?
2013/01/02 面试题
《四季》教学反思
2014/04/08 职场文书
如何写新闻稿
2015/07/18 职场文书
世界无敌的ICOM IC-R9500宽频接收机
2022/03/25 无线电