用JavaScript代码编写选项卡

选项卡其实在很多网站站中可以看到。类似于切换导航。

代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
	<style type="text/css">

	     * {margin: 0; padding: 0;}

	     ul {
	     	list-style: none;
	     }

	     .box {
	     	  width: 400px;
	     	  height: 300px;
	     	  border: 1px solid #ccc;
	     	  margin: 100px auto;
	     }

	     .hd {
	     	 height: 45px;
	     }

	     .hd span {
             display: inline-block;
             width: 90px;
             background-color: pink;
             text-align: center;
             line-height: 45px;
             height: 45px;

	     }

	     .hd span.current {
	     	  background-color: purple;
	     }

	     .content li {
	     	 height: 255px;
	     	 background-color: purple;
	     	 display: none;
	     }

	     .content li.current {
	     	 display: block;
	     }
	</style>
</head>
<body>
	
	 <div class="box" id="box">
	 	<div class="hd">
	 		<span class="current">体育</span>
	 		<span>娱乐</span>
	 		<span>新闻</span>
	 		<span>综合</span>
	 	</div>
	 	<div class="content">
	 		<ul>
	 			<li class="current">体育模块</li>
	 			<li>娱乐模块</li>
	 			<li>新闻模块</li>
	 			<li>综合模块</li>
	 		</ul>
	 	</div>
	 </div>
	 <script type="text/javascript">
	      // 单击某个选项卡菜单时  1  当前菜单背景色为紫色 其他变为粉红
	      //  2 菜单对应的内容区域显示 其他隐藏

	      //  步骤1 先给所有的span进行绑定事件
	      var spns = document.getElementsByTagName("span");
	      var lis = document.getElementsByTagName("li");
	      for(var i=0; i<spns.length; i++) {
	      	    spns[i].onclick = fn;
	      }

	      function fn() {
            //   1  当前菜单背景色为紫色 其他变为粉红
            // 先干掉所有人 最后留下自己
            // 移除所有span的class 
            for(var i=0;i<spns.length; i++) {
                spns[i].setAttribute("index",i);
            	spns[i].removeAttribute("class");
            } 
            // 让当前自己设置紫色背景  this表示 当前自己 就是表示当前事件源
            this.setAttribute("class", "current");

	      //  2 菜单对应的内容区域显示 其他隐藏
	      // 单击第一个span  第一个li显示  其他隐藏
	      // 单击第二个span  第二个li显示  其他隐藏
          
             // 先让所有内容隐藏
             for(var i=0; i<lis.length; i++) {
             	  lis[i].removeAttribute("class");
             }

             var index = this.getAttribute("index");
             //alert(index);
             // 让菜单span对应的li显示
             lis[index].setAttribute("class","current");

	      }
	 </script>
</body>
</html>




猜你喜欢

转载自blog.csdn.net/web_struggle/article/details/78164108