页面滚动加载数据(瀑布流)
页面滚动加载数据---霸气的名字--->瀑布流
http://blog.csdn.net/saindy5828/article/details/7756315
- <!DOCTYPE=html>
- <html>
- <head>
- <script src="js/jquery.js" type="text/javascript"></script>
- <script type="text/javascript">
- $(document).ready(function(){
- var range = 50; //距下边界长度/单位px
- var elemt = 500; //插入元素高度/单位px
- var maxnum = 20; //设置加载最多次数
- var num = 1;
- var totalheight = 0;
- var main = $("#content"); //主体元素
- $(window).scroll(function(){
- var srollPos = $(window).scrollTop(); //滚动条距顶部距离(页面超出窗口的高度)
- //console.log("滚动条到顶部的垂直高度: "+$(document).scrollTop());
- //console.log("页面的文档高度 :"+$(document).height());
- //console.log('浏览器的高度:'+$(window).height());
- totalheight = parseFloat($(window).height()) + parseFloat(srollPos);
- if(($(document).height()-range) <= totalheight && num != maxnum) {
- main.append("<div style='border:1px solid tomato;margin-top:20px;color:#ac"+(num%20)+(num%20)+";height:"+elemt+"' >hello world"+srollPos+"---"+num+"</div>");
- num++;
- }
- });
- });
- </script>
- </head>
- <body>
- <div id="content" style="height:960px">
- <div id="follow">this is a scroll test;<br/> 页面下拉自动加载内容</div>
- <div style='border:1px solid tomato;margin-top:20px;color:#ac1;height:800' >hello world test DIV</div>
- </div>
- </body>
- </html>
-----------------------------------------------------------------------------------------------
http://wdzhangxiang.iteye.com/blog/1615496
下拉滚动条或鼠标滚轮滚动到页面底部时, 动态即时加载新内容。
后台用 json 传输数据, 示例程序中只写了示例数组。数据也只设置了两个属性, 需根据实际应用改写。
页面用了 ul li 做为容器, 每个 li 表示一列
<ul id="stage">
<li></li>
<li></li>
<li></li>
<li></li>
</ul>
JS代码
$(document).ready(function(){
loadMore();
});
$(window).scroll(function(){
// 当滚动到最底部以上100像素时, 加载新内容
if ($(document).height() - $(this).scrollTop() - $(this).height()<100) loadMore();
});
function loadMore()
{
$.ajax({
url : 'data.php',
dataType : 'json',
success : function(json)
{
if(typeof json == 'object')
{
var oProduct, $row, iHeight, iTempHeight;
for(var i=0, l=json.length; i<l; i++)
{
oProduct = json[i];
// 找出当前高度最小的列, 新内容添加到该列
iHeight = -1;
$('#stage li').each(function(){
iTempHeight = Number( $(this).height() );
if(iHeight==-1 || iHeight>iTempHeight)
{
iHeight = iTempHeight;
$row = $(this);
}
});
$item = $('<div><img src="'+oProduct.image+'" border="0" ><br />'+oProduct.title+'</div>').hide();
$row.append($item);
$item.fadeIn();
}
}
}
});
}
示例网址: http://product.1024i.com/ajax/waterfall/
资源下载: http://download.csdn.net/detail/iua1024/4216228

浙公网安备 33010602011771号