原生javascript实现tab切换效果的代码
Tab切换是网页制作中常用的效果,通过jquery很容易实现,使用原生javascript代码则稍微有点繁锁。
HTML代码:
<div id="tabmenu"> <span class="current>普通会员</span> <span>超级会员</span> </div> <div id="tabbox"> <div class="item"> 普通会员权限 </div> <div class="item"> 超级会员权限 </div> </div>
CSS代码:
#tabmenu .current {color:#f00;} #tabbox .item {display:none;} #tabbox .item:first-child {display:block;}
javascript代码:
var tabMenu = document.getElementById('tabmenu'); var tabMenuSpan = tabMenu.getElementsByTagName('span'); var tabBox = document.getElementById('tabbox'); var tabBoxItem = tabBox.getElementsByClassName('item'); for(var i=0; i<tabMenuSpan.length; i++){ //遍历span tabMenuSpan[i].index = i; //添加一个自定义属性index tabMenuSpan[i].onclick = function(){ //原生JS点击事件 var index = this.index; //获取刚刚添加的自定义属性值 for(var b=0; b<tabBoxItem.length; b++){ //遍历item if(b==index){ //点击后要显示的item tabMenuSpan[b].className = 'current'; tabBoxItem[b].style.display = 'block'; }else{ //其余的item隐藏 tabMenuSpan[b].className = ''; tabBoxItem[b].style.display = 'none'; } } } }
附:jQuery实现代码
$(function(){ $('#tabmenu span').click(function(){ $(this).addClass('current').siblings().removeClass('current'); $('#tabbox .item').eq($(this).index()).show().siblings().hide(); }); });
jQuery版本需要引入jQuery.js库文件
下一篇 >>