当前位置:编程学习 > html/css >>

仿客齐集首页导航条DIV+CSS+JS [代码实例]

答案:作者子鼠
客齐集首页的一个效果, 今天有人问我是怎么写的,于是晚上就又重写了一个; 顺便把那个布局再理一下;
你可以先看一下客齐集首页的效果:http://shanghai.kijiji.cn
我试着不用position:absolute的方法; 但写起来太难了; 后来还是用position:absolute了; 但在客齐集站上的是没有用的;真不知道当时是怎么写出来的;
以下是效果图:


以下是布局部分
复制代码 代码如下:

<div id="info">
<div id="kjj_tag"> </div>
<ul>
<li id="tag1"><h4><a href=> <li id="tag2"><h4><a href=> <li id="tag3"><h4><a href=> <li id="tag4"><h4><a href=> <li id="tag5"><h4><a href=> </ul>
<div id="info1"><a href=> <div id="info2"><a href=> <div id="info3"><a href=> <div id="info4"><a href=> <div id="info5"><a href=></div>

以下是CSS部分:CSS还是没有优化的;
复制代码 代码如下:

<style>
/*子鼠 www.zishu.cn*/
* {margin:0;padding:0;font-size:12px;font-family:Verdana, Arial, "宋体"; list-style:none;}
body {background: #FFFFCC;margin:100px 0 0 100px;}
#info {border:1px solid #FFCC66;padding:30px;background:#f7f7f7;width:500px;}
#kjj_tag {width:500px;border-bottom:1px solid #CCC; background:url(taga_c.gif) repeat-x left bottom;height:30px;}
#info1,#info2,#info3,#info4,#info5{ border:1px solid #ccc;border-top:none; padding:10px; background:#fff; clear:both; }
h4{ font-weight:normal;float:left;border-right:1px solid #fff;}
.hd {display:none;}
.sw {display:block;}
#info li {float:left;}
#info li a{float:left; display:block; padding:4px 10px 4px 10px; color:#37572E; text-decoration:none}
#info li a:hover{ background:#E9FE70; color:#000}
#info ul { float:left; margin-top:-28px; padding:5px 0; position:absolute}
#info .ha a{ color:#FFF}
#info .ha a:hover{color:#FFF; background:none}
#info .ha .hc:hover{background:url(tag_d.gif) no-repeat center bottom; }
.ha {background:url(taga_a.gif) no-repeat left top;margin-top:-3px;padding-top:3px;}
.hb{ background:url(taga_b.gif) no-repeat right top; margin-top:-3px; padding-top:3px;}
.hc {background:url(tag_d.gif) no-repeat center bottom; height:17px; color:#FFF; font-weight:bold}
</style>

以下为JS部分:由于javascript对于我来说太难了;所以可能这部分写的比较烂,但效果是出来了;
复制代码 代码如下:

<script language="javascript">
var k = Math.floor(Math.random()*5+1);
for(i=1; i <6; i++){
if( i==k){
document.getElementById("info"+i).className="sw";
document.getElementById("tag"+i).className="ha";
document.getElementById("tag"+i).getElementsByTagName("h4")[0].className="hb";
document.getElementById("tag"+i).getElementsByTagName("a")[0].className="hc";
}
else{
document.getElementById("info"+i).className="hd";
}
}
function kijijitag(tag){
for(i=1; i <6; i++)
{
if (i==tag)
{
document.getElementById("info"+i).className="sw";
document.getElementById("tag"+i).className="ha";
document.getElementById("tag"+i).getElementsByTagName("h4")[0].className="hb";
document.getElementById("tag"+i).getElementsByTagName("a")[0].className="hc";
}
else{
document.getElementById("info"+i).className="hd";
document.getElementById("tag"+i).className="";
document.getElementById("tag"+i).getElementsByTagName("h4")[0].className="";
document.getElementById("tag"+i).getElementsByTagName("a")[0].className="";
}
}
}
</script>

以下是用到的四个图:

按此在新窗口打开图片


看下效果吧!

[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

特别说明:

1、CSS部分不是很清晰,因为写的我都有点晕了;
2、五个TAG是随机换的;
3、JS部分还可以再精简一些,但要有CSS支持;

上一个:div+css中Class与ID的区别
下一个:推荐css打造经典鼠标触发显示选项

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,