这篇文章主要为大家详细介绍了简单实现 js 选项卡切换效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
Javascript 是一种由 Netscape 的 LiveScript 发展而来的原型化继承的基于对象的动态类型的区分大小写的客户端脚本语言,主要目的是为了解决服务器端语言,比如 Perl,遗留的速度问题,为客户提供更流畅的浏览效果。
实现思路:
1、首先获取 id 元素。 2、for 循环历遍按钮元素添加 onclick 事件。 3、排他思想,点击按钮时设置所有选项卡按钮样式为空,利用 this 关键字指定当前选项卡获得高亮样式。 4、下面的多个 div 内容块以此类推。
源代码:
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <title>简单的选项卡切换(仿Hao123导航)</title>
- </head>
- <style>
- * {
- margin: 0;
- padding: 0;
- }
- .box {
- width: 278px;
- margin: 0 auto;
- margin-top: 100px;
- background-color: #F7F7F8;
- overflow: hidden;
- }
- .btn button {
- outline:none;
- color: #616161;
- font:14px/100% arial,"Hiragino Sans GB","Hiragino Sans GB W3",\5b8b\4f53;
- border: none;
- height: 34px;
- width: 51px;
- background-color: #F7F7F8;
- float: left;
- cursor: pointer;
- }
- .box .btn i {
- height: 16px;
- border-left: 1px solid #EAEAEA;
- margin-top: 9px;
- float: left;
- _font-size: 0px;
- }
- .box .btn button:hover {
- color: #0AA770;
- }
- .box .btn s {
- cursor: pointer;
- text-decoration: none;
- font:14px/34px arial,"Hiragino Sans GB","Hiragino Sans GB W3",\5b8b\4f53;
- }
- #box1 #btns .clickbtn {
- border-top: 1px solid #0AA770;
- color: #0AA770;
- }
- .bottom {
- display: none;
- position: absolute;
- width: 278px;
- height: 110px;
- color: #fff;
- text-align: center;
- font:14px/100% arial,"Hiragino Sans GB","Hiragino Sans GB W3",\5b8b\4f53;
- }
- .bottom a {
- color: #fff;
- position: relative;
- top: -20px;
- left: 0px;
- text-decoration: none;
- }
- .bottom a:hover {
- text-decoration: underline;
- }
- </style>
- <script>
- window.onload = function(){
- var btns = document.getElementById("btns").getElementsByTagName("button");
- var divs = document.getElementById("bottomdivs").getElementsByTagName("div");
- btns[0].className = "clickbtn";
- for(var i = 0;i<btns.length;i++){
- btns[i].index = i;
- btns[i].onclick = function(){
- //alert(this.index);
- for(var j = 0;j<btns.length;j++){
- btns[j].className = "";
- }
- this.className = "clickbtn";
- for(var b = 0;b<btns.length;b++){
- divs[b].style.display = "none";
- }
- divs[this.index].style.display = "block";
- }
- }
- }
- </script>
- <body>
- <div class="box" id="box1">
- <div class="btn" id="btns">
- <button>推介</button>
- <i></i>
- <button>社会</button>
- <i></i>
- <button>娱乐</button>
- <i></i>
- <button>军事</button>
- <i></i>
- <button>体育</button>
- <s>+</s>
- </div>
- <div id="bottomdivs">
- <div class="bottom" style="display: block">
- <img src="images/01.jpg" alt="">
- <h4><a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >小伙直播时遭遇"闹鬼"事件 全过程被拍下</a></h4>
- </div>
- <div class="bottom">
- <img src="images/02.jpg" alt="">
- <h4><a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >男子穿新郎装背充气娃娃游街</a></h4>
- </div>
- <div class="bottom">
- <img src="images/03.jpg" alt="">
- <h4><a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >她满足所有人对才女的幻想</a></h4>
- </div>
- <div class="bottom">
- <img src="images/04.jpg" alt="">
- <h4><a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >王毅回应中美是否会在南海发生冲突</a></h4>
- </div>
- <div class="bottom">
- <img src="images/05.jpg" alt="">
- <h4><a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >刘翔与娇妻秀恩爱 豪车曝光车牌太抢眼</a></h4>
- </div>
- </div>
- </div>
- </body>
- </html>
来源: http://www.phperz.com/article/17/0528/327857.html