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之解决IE下不渲染的bug
Jun 29 Javascript
JavaScript 基础知识 被自己遗忘的
Oct 15 Javascript
Ext.FormPanel 提交和 Ext.Ajax.request 异步提交函数的区别
Nov 12 Javascript
javascript实现可改变滚动方向的无缝滚动实例
Jun 17 Javascript
JavaScript中解析JSON数据的三种方法
Jul 03 Javascript
JS实现响应鼠标点击动画渐变弹出层效果代码
Mar 25 Javascript
谈一谈js中的执行环境及作用域
Mar 30 Javascript
vue 使用ref 让父组件调用子组件的方法
Feb 08 Javascript
vue组件jsx语法的具体使用
May 21 Javascript
在vue中多次调用同一个定义全局变量的实例
Sep 25 Javascript
layer弹出子iframe层父子页面传值的实现方法
Nov 22 Javascript
关于js陀螺仪的理解分析
Apr 11 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的curl封装类用法实例
2014/11/07 PHP
php smtp实现发送邮件功能
2017/06/22 PHP
php删除一个路径下的所有文件夹和文件的方法
2018/02/07 PHP
PHP中上传文件打印错误错误类型分析
2019/04/14 PHP
PHP常见的序列化与反序列化操作实例分析
2019/10/28 PHP
js压缩工具 yuicompressor 使用教程
2010/03/31 Javascript
JavaScript和JQuery实用代码片段(一)
2010/04/07 Javascript
select标记美化--JS式插件、后期加载
2013/04/01 Javascript
非常好用的JsonToString 方法 简单实例
2013/07/18 Javascript
javascript中全局对象的parseInt()方法使用介绍
2013/12/19 Javascript
解决jQuery动态获取手机屏幕高和宽的问题
2014/05/07 Javascript
JS中产生20位随机数以0-9为例也可以是a-z A-Z
2014/08/01 Javascript
基于jquery实现省市联动特效
2015/12/17 Javascript
jQuery实现侧浮窗与中浮窗切换效果的方法
2016/09/05 Javascript
JS搜狐面试题分析
2016/12/16 Javascript
微信小程序 动态绑定事件并实现事件修改样式
2017/04/13 Javascript
AngularJS实现的回到顶部指令功能实例
2017/05/17 Javascript
JS实现手写parseInt的方法示例
2017/09/24 Javascript
echarts同一页面中四个图表切换的js数据交互方法示例
2018/07/03 Javascript
react+ant design实现Table的增、删、改的示例代码
2018/12/27 Javascript
Vue中全局变量的定义和使用
2019/06/05 Javascript
js常见遍历操作小结
2019/06/06 Javascript
element-ui封装一个Table模板组件的示例
2021/01/04 Javascript
Python过滤函数filter()使用自定义函数过滤序列实例
2014/08/26 Python
使用Python标准库中的wave模块绘制乐谱的简单教程
2015/03/30 Python
CentOS7下python3.7.0安装教程
2018/07/30 Python
浅谈pycharm下找不到sqlalchemy的问题
2018/12/03 Python
在Python中使用turtle绘制多个同心圆示例
2019/11/23 Python
Python如何生成xml文件
2020/06/04 Python
Python requests模块安装及使用教程图解
2020/06/30 Python
Python全局变量与global关键字常见错误解决方案
2020/10/05 Python
HTML5 Canvas绘制五星红旗
2016/05/04 HTML / CSS
阿玛尼意大利官网:Armani意大利
2018/10/30 全球购物
python re模块和正则表达式
2021/03/24 Python
单位工作证明
2014/10/07 职场文书
2015年防汛工作总结
2015/05/15 职场文书