>백엔드 개발 >PHP 튜토리얼 >thinkPHP实现瀑布流的方法,thinkphp实现瀑布_PHP教程

thinkPHP实现瀑布流的方法,thinkphp实现瀑布_PHP教程

WBOY
WBOY원래의
2016-07-13 10:12:401033검색

thinkPHP实现瀑布流的方法,thinkphp实现瀑布

本文实例讲述了thinkPHP实现瀑布流的方法。分享给大家供大家参考。具体分析如下:

很多人都想做瀑布流的效果,这里告诉大家官网使用的方法,首先要下载瀑布流的插件jquery.masonry.min.js 地址:http://masonry.desandro.com/index.html里面包含的很多示例.

流程:

1. 页面初始化时,调用插件进行一次排版;

2. 当用户将滚动条拖到底部时,用ajax加载一次数据,并排版显示

3. 重复2,直到无数据

Html代码:

复制代码 代码如下:
 
 
 
 
Insert title here 
 
 
 
 
 
 
 
 
 
 
 
 
 
瀑布流下来了
 
 
 
 
 
 
 
加载中,请稍后... 
 
 
 
 
 
"; 
}); 
var $newElems = $(html).css({ opacity: 0 }).appendTo($container); 
$newElems.imagesLoaded(function(){ 
$newElems.animate({ opacity: 1 }); 
$container.masonry( 'appended', $newElems, true );  
}); 
//一次请求完成,将on设为false,可以进行下一次的请求 
loading.data("on", false); 

loading.fadeOut(); 
}, 
"json" 
); 

}); 
}); 
 
 

Action代码:

复制代码 代码如下:
//初始化的数据 
public function lists(){  
$data = D('Info')->order('id DESC')->limit(10)->select(); 
$this->assign('data', $data); 
$this->display(); 

//获取一次请求的数据 
public function getMore(){  
//获取最后一个id 
if(!emptyempty($_GET['lastid']))$map['id'] = array('lt', $_GET['lastid']);  
$data = D('Info')->where($map)->order('id DESC')->limit(10)->select(); 
$this->ajaxReturn($data); 
}

注意:通过判断窗口是否滚动到页面底部来决定用ajax加载一次数据,如果不做处理,会一下子请求很多次,所以,要使用条件来限制.

这里使用的是往一个元素上赋值 $("#loading").data("on", true);,在请求期间判断是true则不继续请求,然后在页面请求完成后再赋值为false.

希望本文所述对大家的ThinkPHP框架程序设计有所帮助。

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/919626.htmlTechArticlethinkPHP实现瀑布流的方法,thinkphp实现瀑布 本文实例讲述了thinkPHP实现瀑布流的方法。分享给大家供大家参考。具体分析如下: 很多人都想...
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.