js与jquery分别实现tab标签页功能的方法
(编辑:jimmy 日期: 2024/11/19 浏览:3 次 )
本文实例讲述了js与jquery分别实现tab标签页功能的方法。分享给大家供大家参考,具体如下:
首先列出样式和html标签
<style type="text/css"> *{margin: 0;padding: 0;} #myul li {list-style: none; float: left; border: 1px solid #ddd; width: 100px; height: 20px; text-align: center; line-height: 20px;} #container div{display: none; width: 303px; height: 300px; border: 1px solid #ddd; } #container .ssd{display: block;} .ssl{background: #abcdef;} </style> </head> <body> <div id="tab"> <ul id="myul"> <li class="ssl">1</li> <li>2</li> <li>3</li> </ul> <div id="container"> <div class="ssd">woshi1</div> <div>woshi2</div> <div>woshi3</div> </div> </div> </body>
然后就是原生的js 实现tab标签 的代码
<script type="text/javascript"> var ul = document.getElementById('myul'); var li = ul.getElementsByTagName('li'); var con = document.getElementById('container'); var div = con.getElementsByTagName('div'); var len = li.length; for (var i = 0; i < len; i++) { li[i].index = i; li[i].onclick=choose; li[i].onmouseover = choose; }; function choose(){ for(var j = 0; j < len; j++) { li[j].className = ''; div[j].style.display = 'none'; } this.className = 'ssl'; div[this.index].style.display='block'; } </script>
那我们改用jquery实现 代码如下
$('#myul li').click(choose); $('#myul li').hover(choose); function choose(){ $(this).addClass('ssl').siblings().removeClass('ssl'); $('#container div').eq($(this).index()).show().siblings().hide(); }
其实函数还可以简化:
function choose(){ $(this).addClass('ssl').siblings().removeClass('ssl').parent().next().children().eq($(this).index()).show().siblings().hide(); }
更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《JavaScript切换特效与技巧总结》、《JavaScript遍历算法与技巧总结》、《JavaScript查找算法技巧总结》、《JavaScript动画特效与技巧汇总》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》及《JavaScript数学运算用法总结》
希望本文所述对大家JavaScript程序设计有所帮助。
下一篇:jQuery实现点击某个div打开层,点击其他div关闭层实例分析(阻止冒泡)