记录生活 学习SEO优化 | 他日若遂凌云志 敢笑黄巢不丈夫
>>Home > 学习笔记 > jQuery特效 > infinite-scroll,Masonry实现无刷新无分页瀑布流

infinite-scroll,Masonry实现无刷新无分页瀑布流

Tags: | | 作者:海天无影

最近看了很多网站特别是图片类的分享网站都使用了一种新的展示样式,这种无规则交错的排版样式,吸引了众多网友的眼球,这个就是传说中的瀑布流网站,也叫砌墙效果。

海天也很喜欢这种错乱交织但又整齐规律的效果,所以在网上找了很久,找到了这个用jQuery插件infinite-scroll和Masonry实现的瀑布流网站,分享给大家。

实现这个效果需要两个jQuery插件infinite-scroll和Masonry。

infinite-scroll-jquery

用于页面的无限滚动,晚上有很多类似的jQ插件,海天对jQ不是很熟,就按人家的来了
参数详解:

$('#content').infinitescroll({
navSelector : "div.navigation", //导航的选择器,会被隐藏
nextSelector : "div.navigation a:first",//包含下一页链接的选择器
itemSelector : "#content div.post",//你将要取回的选项(内容块)
debug : true, //启用调试信息
loadingImg : "/img/loading.gif", //加载的时候显示的图片
//默认采用:"http://www.infinite-scroll.com/loading.gif"
animate : true, //当有新数据加载进来的时候,页面是否有动画效果,默认没有
extraScrollPx: 50, //滚动条距离底部多少像素的时候开始加载,默认150
bufferPx : 40,//载入信息的显示时间,时间越大,载入信息显示时间越短
errorCallback: function(){},//当出错的时候,比如404页面的时候执行的函数
localMode : true //是否允许载入具有相同函数的页面,默认为false
},function(arrayOfNewElems){
//程序执行完的回调函数
});
取消绑定事件的函数写法:$(window).unbind(‘.infscr’); 通过事件触发加载数据的写法: $(document).trigger(‘retrieve.infscr’); //比如加到某个click事件中

此插件还有一个鲜为人知的功能就是可以载入任何页面的选择器中的内容,可以是id以及是class,并转化到html存储。要比jquery自带的的load强大多了。

$('
').load('/page/2/ #content div.post',function(){
$(this).appendTo('#content');
});

官方首页及下载地址: http://www.infinite-scroll.com/

Masonry

这个就是实现错落排序的重要插件了。

参数详解:

$(function(){
$(´#container´).masonry({
// options 设置选项
itemSelector : ´.item´, //子类元素选择器
columnWidth : 240 ,//一列的宽度 ,包括边距 220+10+10
isAnimated:true, //使用jquery的布局变化,是否启用动画效果
animationOptions:{
//jquery animate属性 ,动画效果选项。比如渐变效果 Object { queue: false, duration: 500 }
},
gutterWidth:0,//列的间隙
isFitWidth:true,//自适应宽度
isResizableL:true,// 是否可调整大小
isRTL:false,//使用从右到左的布局
});
});

官方首页及下载地址:http://masonry.desandro.com/index.html

双剑合璧

演示代码:

<script type="text/javascript" src="jquery-1.6.4.min.js"></script>
<script src="jquery.infinitescroll.min.js" type="text/javascript"></script>
<script src="jquery.masonry.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(function(){
var $container = $('#content ul'); //设置容器
$('#content ul').infinitescroll({
    navSelector  : "div.page .pages",  //导航的选择器
    nextSelector : "div.page .pages a.nextpage",  //包含下一页链接的选择器
    itemSelector : "#content ul li"  //你将要取回的选项(内容块)
  }, function( newElements ) {
		//程序执行完的回调函数
		var $newElems = $( newElements );
		$container.masonry( 'appended', $newElems );
  });

   $('#content').masonry({
    itemSelector : '#content li', //子类元素
    columnWidth : 251 //一列的宽度
  });

});
</script>

原文见:http://www.xiumu.org/technology/jquery-without-refresh-paging-perfect-waterfall-flow.shtml

原理看这里:http://www.niumowang.org/html-css/jquery-scroll-theorem/

日志信息 »

该日志于2012-09-04 18:31由 海天无影 发表在jQuery特效分类下, 你可以发表评论。除了可以将这个日志以保留源地址及作者的情况下转载到你的网站或博客,还可以通过RSS 2.0订阅这个日志的所有评论。

1条评论▼点击进行评论


  1. Warning: copy(/home/wwwroot/haitian/blog/avatar/aab90f732986a7be834ed555ba08188f.jpg): failed to open stream: Permission denied in /home/wwwroot/haitian/blog/wp-content/themes/prowerV3.1/functions.php on line 169
    回复

    最近瀑布流很是火爆。

icon_wink.gif icon_neutral.gif icon_mad.gif icon_twisted.gif icon_smile.gif icon_eek.gif icon_sad.gif icon_rolleyes.gif icon_razz.gif icon_redface.gif icon_surprised.gif icon_mrgreen.gif icon_lol.gif icon_idea.gif icon_biggrin.gif icon_evil.gif icon_cry.gif icon_cool.gif icon_arrow.gif icon_confused.gif icon_question.gif icon_exclaim.gif 

« 连看《蝙蝠侠》和《普罗米修斯》 清理页面没有引用的css样式 »