jQuery瀑布流插件Wookmark使用实例 |
插件下载:https://github.com/GBKS/Wookmark-jQuery 下载插件后,在网页中引用插件的JS文件: 复制代码 代码如下: <script src="jquery-1.8.2.min.js"></script> <script src="jquery.wookmark.min.js"></script> HTML代码结构: 复制代码 代码如下: <div id="main"> <ul id="tiles"> <li><img src="images/1.jpg"></li> <li><img src="images/2.jpg"></li> <li><img src="images/3.jpg"></li> </ul> </div> 简单用法:在html文件中添加代码 复制代码 代码如下: <script> jQuery(function($){ $(#tiles li).wookmark(); }); </script> 复杂一点的用法: 复制代码 代码如下: <script> jQuery(function($){ $(#tiles li).wookmark({ //这里是要实现瀑布流布局的对象 autoResize: true, //设置成true表示当window窗口大小改变的时候,重新布局 container: $(#container), //这个是容器名称 这个容器要必须包含一个css属性"position:relative" 否则你就会看到全部挤在页面的左上角了 offset: 12, //2个相邻元素之间的间距 itemWidth: 222, //指定对象的宽度 resizeDelay: 50 //这是延时效果 默认是50 }); }); </script> wookmark同样也可以配合ajax来实现动态加载数据,不过新增之后需要重新执行一次 。 复制代码 代码如下: var handler = $(#tiles li); handler.wookmark(options); 如果你在前面已经绑定了事件,在重新执行之前,先清除一下 。 复制代码 代码如下: handler.wookmarkClear(); 看到比较多人在问滚动加载是怎么用的,弄个实例补充说明下: 复制代码 代码如下: var handler = null; //定义基本属性. var options = { autoResize: true, container: $(#main), offset: 2, itemWidth: 210 }; //定义滚动函数 function onScroll(event) { //是否到底部(这里是判断离底部还有100px开始载入数据). var closeToBottom = ($(window).scrollTop() + $(window).height() > $(document).height() - 100); if(closeToBottom) { //这里就是AJAX载入的数据 $.ajax({url:"data.html", dataType:"html", success:function(html){ //把新数据追加到对象中 $(#waterfall).append(html); //清除原来的定位 if(handler) handler.wookmarkClear(); //创建新的wookmark对象 handler = $(#waterfall li); handler.wookmark(options); } }); } }; $(document).ready(new function() { //绑定scroll事件. $(document).bind(scroll, onScroll); //第一次布局. handler = $(#waterfall li); handler.wookmark(options); }); |