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分解url参数(面向对象-极简主义法应用)
Aug 09 Javascript
Javascript根据指定下标或对象删除数组元素
Dec 21 Javascript
JavaScript prototype 使用介绍
Aug 29 Javascript
CheckBoxList多选样式jquery、C#获取选择项
Sep 06 Javascript
jQuery中选择器的基础使用教程
May 23 Javascript
返回函数的JavaScript函数
Jun 14 Javascript
简单封装js的dom查询实例代码
Jul 08 Javascript
jQuery中.attr()和.data()的区别分析
Sep 03 jQuery
基于node下的http小爬虫的示例代码
Jan 11 Javascript
在vue 中使用 less的教程详解
Sep 26 Javascript
IE浏览器下JS脚本提交表单后,不能自动提示问题解决方法
Jun 04 Javascript
JS三级联动代码格式实例详解
Dec 30 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下一个非常全面获取图象信息的函数
2008/11/20 PHP
Linux中为php配置伪静态
2014/12/17 PHP
php表单提交与$_POST实例分析
2015/01/26 PHP
PHP利用正则表达式将相对路径转成绝对路径的方法示例
2017/02/28 PHP
HTML代码中标签的全部属性 中文注释说明
2009/03/26 Javascript
JavaScript 全角转半角部分
2009/10/28 Javascript
js中switch case循环实例代码
2013/12/30 Javascript
js树插件zTree获取所有选中节点数据的方法
2015/01/28 Javascript
实例讲解javascript注册事件处理函数
2016/01/09 Javascript
JS实现动态表格的添加,修改,删除功能(推荐)
2016/06/15 Javascript
jquery点击切换背景色的简单实例
2016/08/25 Javascript
浅谈$_FILES数组为空的原因
2017/02/16 Javascript
在使用JSON格式处理数据时应该注意的问题小结
2017/05/20 Javascript
微信小程序中吸底按钮适配iPhone X方案
2017/11/29 Javascript
如何手动实现es5中的bind方法详解
2018/12/07 Javascript
Vue组件通信入门之Provide和Inject机制
2019/12/29 Javascript
JS数组进阶示例【数组的几种函数用法】
2020/01/16 Javascript
忘记ftp密码使用python ftplib库暴力破解密码的方法示例
2014/01/22 Python
Python切片用法实例教程
2014/09/08 Python
python中安装Scrapy模块依赖包汇总
2017/07/02 Python
python中requests和https使用简单示例
2018/01/18 Python
python中join()方法介绍
2018/10/11 Python
python简单鼠标自动点击某区域的实例
2019/06/25 Python
解决jupyter notebook显示不全出现框框或者乱码问题
2020/04/09 Python
基于Python下载网络图片方法汇总代码实例
2020/06/24 Python
python json.dumps() json.dump()的区别详解
2020/07/14 Python
一家专门经营包包的英国网站:MyBag
2019/09/08 全球购物
师范毕业生求职自荐信
2013/09/25 职场文书
员工培训邀请函
2014/02/02 职场文书
便利店促销方案
2014/02/20 职场文书
群众路线自查自纠工作情况报告
2014/10/28 职场文书
2014年护士长工作总结
2014/11/11 职场文书
劳动仲裁调解书
2015/05/20 职场文书
行政处罚听证告知书
2015/07/01 职场文书
导游经典开场白——导游词
2019/04/17 职场文书
《辉夜大小姐想让我告白》第三季正式预告
2022/03/20 日漫