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

所属分类: 网络编程 / CSS/HTML 阅读数: 1920
收藏 0 赞 0 分享
作者子鼠
客齐集首页的一个效果, 今天有人问我是怎么写的,于是晚上就又重写了一个; 顺便把那个布局再理一下; 
你可以先看一下客齐集首页的效果:http://shanghai.kijiji.cn
我试着不用position:absolute的方法; 但写起来太难了; 后来还是用position:absolute了; 但在客齐集站上的是没有用的;真不知道当时是怎么写出来的;
以下是效果图:


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

<div id="info">
  <div id="kjj_tag"> </div>
  <ul>
    <li id="tag1"><h4><a href="javascript:kijijitag('1');">热门活动</a></h4></li>
    <li id="tag2"><h4><a href="javascript:kijijitag('2');" >最新功能</a></h4></li>
    <li id="tag3"><h4><a href="javascript:kijijitag('3');" >服务承诺</a></h4></li>
    <li id="tag4"><h4><a href="javascript:kijijitag('4');" >最新成功故事</a></h4></li>
    <li id="tag5"><h4><a href="javascript:kijijitag('5');" >热贴推荐</a></h4></li>
  </ul>
  <div id="info1"><a href="http://www.zishu.cn" target="blank">子鼠00001</a></div>
  <div id="info2"><a href="http://www.zishu.cn" target="blank">子鼠00002</a></div>
  <div id="info3"><a href="http://www.zishu.cn" target="blank">子鼠00003</a></div>
  <div id="info4"><a href="http://www.zishu.cn" target="blank">子鼠00004</a></div>
  <div id="info5"><a href="http://www.zishu.cn" target="blank">子鼠00005</a></div>
</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支持;
更多精彩内容其他人还在看

简单明了带你了解CSS Modules

不要误会,CSS Modules可不是在说“css模块化”这个好像在某些地方见过的词,它其实是特指一种近期才出现的技术手段。什么技术手段呢?下面小编来和大家一起学习一下
收藏 0 赞 0 分享

新手学习css优先级

大部分人同样也会在写css的过程中产生很多困惑,比如为什么自己写的某段css没有生效,或者呈现出的样式和预计的不同,但又不知道要如何解决。下面小编来和大家一起学习CSS的优先级
收藏 0 赞 0 分享

css进阶学习 选择符

css这种没有程序逻辑的代码中,又能找出什么来说明谁做得更出色呢?下面小编给大家说明如何从css选择符的角度来提高css代码质量。
收藏 0 赞 0 分享

实现css文字垂直居中的8种方法

CSS可以轻易实现文字的水平居中,但有时我们需要文字垂直居中,除了表格可以实现这种CSS文字垂直居中以外,还有其它几种方法可以做到
收藏 0 赞 0 分享

完美实现CSS垂直居中的11种方法

在做前端项目时CSS的水平居中我们经常使用,但有时还会用到CSS垂直居中,对于小白来说这个就有些难度了,下面看一下我是如何实现的
收藏 0 赞 0 分享

webpack高级配置与优化详解

这篇文章主要介绍了webpack高级配置与优化,其中包括了webpack打包多页面,webpack跨域问题等相关内容
收藏 0 赞 0 分享

5个HTML5的常用本地存储方式详解与介绍

在HTML5规范之前,存储主要是用cookies,但cookies缺点有在请求头上带着数据,大小是4k之内,今天为大家介绍一下H5的5种存储方式
收藏 0 赞 0 分享

CSS代码检查工具stylelint的使用方法详解

stylelint是一个强大的现代CSS检测器,可以让开发者在样式表中遵循一致的约定和避免错误。本文将详细介绍CSS代码检查工具stylelint
收藏 0 赞 0 分享

Zen Coding css,html缩写替换大观 快速写出html,css

本文是在zen使用生产中遇到的问题做一些分享。
收藏 0 赞 0 分享

javascript代码规范小结

javascript代码规范,大家可以参考下,以便写出更利于阅读的代码。
收藏 0 赞 0 分享
查看更多