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首发,转载请注明出处。
荒野乱斗腾讯版最新版下载v61.108.1 安卓qq登录版
策略塔防 1.14G
下载益智拼图游戏免费版下载v2.3 安卓版
休闲益智 15.7M
下载宝宝摄影师游戏下载v9.87.00.00 安卓版
其它手游 96.3M
下载宝宝日常安全宝宝巴士最新版下载v9.87.00.00 安卓手机版
其它手游 92.1M
下载绝区零越南服(ZenlessZoneZero)下载v2.0.0 安卓版
角色扮演 309.5M
下载宝宝认知大全宝宝巴士最新版下载v9.87.00.00 安卓版
其它手游 111.9M
下载宝宝情商养成宝宝巴士游戏下载v9.87.00.00 安卓版
其它手游 104.4M
下载海岛奇兵多酷版下载v59.1.1 安卓版
策略塔防 475.0M
下载豌豆荚海岛奇兵手游下载v59.1.1 安卓最新版
下载
海岛奇兵魅族账号登陆版下载v59.1.1 安卓最新版
下载
美美小店微信登录版下载v1.8.3420 安卓版
下载
宝宝巴士百变职业游戏(改名奇妙的职业)下载v9.87.58.00 安卓最新版
下载
奇妙美食总动员官方版下载v9.86.00.00 安卓版
下载
宝宝果汁商店宝宝巴士下载v9.86.00.00 安卓官方版
下载
奇妙的节日手工宝宝巴士下载v9.87.00.00 安卓手机版
下载
2025使命召唤手游官方正版下载v1.9.51 安卓手机版
下载