2013-05-02
一夜之间 似乎互联网上出现了一种类似瀑布形式的网页布局,如美丽说、蘑菇街等网站都采用这种布局形式。常见的实现方法一般分为:传统多列浮动 、CSS3 定义、绝对定位。 笔者看到网上仅仅有关于CSS的详细教程,未见有绝对定位的相关教程。现在想和各位朋友们分享一下绝对定位的应用及具体代码,希望朋友们能够指出其中的不足之处。
JS的绝对定位分解成三个部分代码,这样清晰,方便查看代码,其中包括: Javascript代码、HTML代码、[AJax封装文件 代码。
[Javascript]代码
<script type="text/javascript" src="ajax.js"></script>
<script type="text/javascript">
window.onload=function()
{
var oDiv =document.getElementById("div");
var oUl=document.getElementsByTagName("ul");
window.onscroll=function()
{
var clientH=document.documentElement.clientHeight;
var scrollH=document.documentElement.scrollTop||document.body.scrollTop;
for(var i=0;i<oUl.length;i++)
{
var aLi=oUl[i].getElementsByTagName("li")
var lastL=aLi[aLi.length-1];
if(toTop(lastL)<clientH+scrollH)
{
ajax("a.js",function(str)
{
var json = eval('('+str+')')
for(var i=0;i<json.list.length;i++)
{
var list=json.list[i];
for(var j=0;j<list.src.length;j++)
{
var oLi=document.createElement("li")
oLi.innerHTML='<img src="'+list.src[j]+'"><p>'+list.title[j]+'</p>'
oUl[i].appendChild(oLi);
}
}
})
}
}
}
function toTop(obj)
{
var top=0;
while(obj)
{
top +=obj.offsetTop;
obj=obj.offsetParent
}
return top;
}
}
</script>
在html的head中,加入<script src="js/*.js" type="text/javascript"></script>
注:不能是<script src="js/*.js" type="text/javascript"/>JS部分处理完毕之后,接下来就是HTML代码部分的书写:
[HTML]代码
<div id='div'>
<ul>
<li>
<img src="images/1.jpg">
<p>11111111</p>
</li>
<li>
<img src="images/2.jpg">
<p>11111111</p>
</li>
<li>
<img src="images/3.jpg">
<p>11111111</p>
</li>
<li>
<img src="images/4.jpg">
<p>11111111</p>
</li>
</ul>
<ul>
<li>
<img src="images/5.jpg">
<p>11111111</p>
</li>
<li>
<img src="images/6.jpg">
<p>11111111</p>
</li>
</ul>
</div>
[AJax封装文件 ]代码
function ajax(url,sFn,nFn)
{
var oAjax=null;
if(window.ActiveXObject)
{
oAjax=new ActiveXObject("Microsoft.XMLHTTP")
}
else
{
oAjax=new XMLHttpRequest();
}
oAjax.open("GET",url,true)
oAjax.send();
oAjax.onreadystatechange=function()
{
if(oAjax.readyState==4)
{
if(oAjax.status==200)
{
if(sFn)
{
sFn(oAjax.responseText)
}
}
else
{
if(nFn)
{
nFn(oAjax.status)
}
}
}
}
}
当然,通过JS调用做瀑布式布局的方法还有很多,笔者仅列出一种,除了JS,jQuery的Masonry插件、KISSY的waterfall插件等都可以更加方便的实现效果。JS+HTML+封装代码已经给写出来了,供大家参考。JS虽然老了,但依旧千变万化,希望你能找到最适合自己的方法。
---------本文由郑州网站建设 http://www.zzwlgs.com在A5首发,转载请注明出处。
趣游捕鱼高爆版官方最新版下载v12.0 安卓版
休闲益智 120.2M
下载趣游捕鱼官方正版手游下载v12.0 安卓最新版
休闲益智 117.1M
下载永夜降临复苏游戏下载v3.5.7 安卓最新版
卡牌对战 537.6M
下载创世战车手游下载v1.45.1.98037 安卓版
射击枪战 2.36G
下载dokkan七龙珠爆裂激战国际版手游下载v5.28.6 安卓版
动作闯关 97.6M
下载这就是江湖官方版下载v12.6.6 安卓最新版本
卡牌对战 211.6M
下载热血美职篮手游下载v1.19020.1722.0 安卓版
体育运动 1.62G
下载斗罗大陆魂师对决手游官方版下载v2.31.1 安卓版
卡牌对战 1.55G
下载坦克大决战游戏下载v1.9462 安卓官方正版
下载
孤胆车神维加斯官方正版(Gangstar Vegas)下载v8.5.1c 安卓手机版
下载
孤胆车神维加斯僵尸城版本下载v8.5.1c 安卓版
下载
英雄联盟云顶之弈手机版本下载v14.8.5768838 安卓最新版本
下载
苍蓝前线手游下载v1.1.0 安卓版
下载
崩坏学园2手游下载v12.2.8 安卓最新版本
下载
彩虹联萌手游下载v7.3.23015 安卓官方版
下载
花花填色苹果版下载v2.2.5 iPhone版
下载