tab选项卡在火狐里和360里没用 在IE里就有用,我是两个tab调用的一个js语句 10

<!--content-->functionsetTab(name,cursel,n){for(i=1;i<=n;i++){varmenu=document.getEle... <!--content-->
function setTab(name,cursel,n){
for(i=1;i<=n;i++){
var menu=document.getElementById(name+i);
var con=document.getElementById("con_"+name+"_"+i);
menu.className=i==cursel?"hover":"";
con.style.display=i==cursel?"block":"none";
}
}
<!-end-contend-->

<div id="con_two_2" class="nei" style="display:none;">
<div class="menu">
<ul>
<li id="tree1" class="hover" onclick="setTab('tree',1,4)">工程类型</li>
<li id="tree2" onclick="setTab('tree',2,4)">工程类别</li>
<li id="tree3" onclick="setTab('tree',3,4)">复杂程度</li>
<li id="tree4" onclick="setTab('tree',4,4)">内容确认</li>
</ul>
</div>

<div class="content">
<div id="con_tree_1" style="display:none;">123</div>
<div id="con_tree_2" style="display:none;">hahahahha</div>
<div id="con_tree_3" style="display:none;">hahahahha</div>
<div id="con_tree_4" style="display:none;">hahahahha</div>
</div>
</div>
展开
 我来答
火狐
2014-10-14 · Firefox,最快最安全的上网体验
火狐
Mozilla Firefox火狐浏览器,是一款开放安全的开源浏览器,全球拥有5亿用户。
向TA提问
展开全部
  尊敬的用户,您好!很高兴为您答疑。
  您的dom对象获取有问题啊。其实像这种略有有点复杂的操作,建议优先考虑引入jQuery框架,可以让您的代码更加优雅。下面是我实现的一组tab效果的js示例:
  function setTab(obj,type){
  $("li").removeClass("on")
  $(obj).toggleClass("on");
  if(type=="user1"){
  $("#user1").show();
  $("#user2").hide();
  $("#user3").hide();
  }else if(type=="user2"){
  $("#user1").hide();
  $("#user2").show();
  $("#user3").hide();
  }else if(type=="user13"){
  $("#user1").hide();
  $("#user2").hide();
  $("#user3").show();
  }else{
  $("#user1").hide();
  $("#user2").hide();
  $("#user3").hide();
  }
  }
代码是不是相对优雅简洁很多?而且这个方式下,规避了IE和非IE浏览器下display的显隐问题。也规避了doucment.getElementById()方法在火狐和IE内核下获取到的对象差异的问题。
  希望我的回答对您有所帮助,如有疑问,欢迎继续咨询我们。
huibo865686
2014-10-14 · TA获得超过916个赞
知道小有建树答主
回答量:325
采纳率:80%
帮助的人:264万
展开全部

我给你写一个简单点的

<div class="tabs">
  <div class="navs">
      <a href="javascript:" class="active">menu1</a>
      <a href="javascript:">menu2</a>
      <a href="javascript:">menu3</a>
  </div>
  <div class="contents">
      <div class="content active">content1</div>
      <div class="content">content2</div>
      <div class="content">content3</div>
  </div>
</div>
.content{
  display:none;/* 默认隐藏 */
}
.content.active{
  display:block;/*这个样式的div显示*/
}

js:

//jquery
function Tab(wrap){
  $(wrap).each(function(){
    var tab = $(this);
      var contents = tab.find('.contents').children('div');
      tab.on('click' , '.navs a' , function(){
        var menu = $(this),
            index = menu.index();
            //给当前点击的按钮添加样式,并且移除其它的样式
            menu.addClass('active').siblings().removeClass('active');
            //显示对应的内容,并且隐藏其它的内容
            contents.eq(index).addClass('active').siblings().removeClass('active');
      });
  });
}
Tab('.tabs');//使用class同一个页面里不需要多次初始化

//原生ie8+
function Tab(wraps){
  each(wraps , function(wrap){
    var contents = $('.contents > div' , wrap),
        menus = $('.navs a' , wrap);
    each(menus , function(menu , index){
      setClass(menus , index , 'active' , '');
      setClass(contents , index , 'active' , 'content');
    });
  });
  //还原样式和设置当前元素样式
  function setClass(list , index , cls , def){
    each(list , function(item){
        item.className = def;//清空样式
    });
    list[index].className += ' ' + cls;
  }
}
function $(wrap , parent){
  return [].slice.call((parent || document).querySelectorAll(wrap));
}
function each(arr , callback){
  for(var i=0 , item;item = arr[i] ; i++ ) callback.call(item , item , i , arr);
}
var addEvent = document.addEventListener ? function(el , type , fn){
  el.addEventListener(type , fn , false);
} : function(el , type , fn){
  el.attachEvent('on' + type , fn , false);
};
Tab($('.wrap'));//使用class同一个页面里不需要多次初始化
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
一瞥不够
2014-10-14 · TA获得超过905个赞
知道小有建树答主
回答量:760
采纳率:71%
帮助的人:203万
展开全部
<!doctype html>
<html lang="en">
 <head>
  <meta charset="UTF-8">
  <meta name="Generator" content="EditPlus®">
  <meta name="Author" content="">
  <meta name="Keywords" content="">
  <meta name="Description" content="">
  <title>Document</title>
  <script>
      function setTab(name,cursel,n){ 
for(i=1;i<=n;i++){ 
 var menu=document.getElementById(name+i); 
 var con=document.getElementById("con_"+name+"_"+i); 
 menu.className=i==cursel?"hover":""; 
 con.style.display=i==cursel?"block":"none"; 

     } 
  </script>
 </head>
 <body>
  <div id="con_two_1" class="nei" >
                      <div class="menu">
                         <ul>
                            <li id="tree1" class="hover" onclick="setTab('tree',1,4)">工程类型</li>
   <li id="tree2" onclick="setTab('tree',2,4)">工程类别</li>
   <li id="tree3" onclick="setTab('tree',3,4)">复杂程度</li>
   <li id="tree4" onclick="setTab('tree',4,4)">内容确认</li>
                         </ul>
                       </div>
 
<div class="content">
<div id="con_tree_1" style="display:none;">123</div>
<div id="con_tree_2" style="display:none;">hahahahha1</div>
<div id="con_tree_3" style="display:none;">hahahahha2</div>
<div id="con_tree_4" style="display:none;">hahahahha3</div>
</div>
</div>

<div id="con_two_2" class="nei" >
                      <div class="menu">
                         <ul>
                            <li id="treee1" class="hover" onclick="setTab('treee',1,4)">工程类型</li>
   <li id="treee2" onclick="setTab('treee',2,4)">工程类别</li>
   <li id="treee3" onclick="setTab('treee',3,4)">复杂程度</li>
   <li id="treee4" onclick="setTab('treee',4,4)">内容确认</li>
                         </ul>
                       </div>
 
<div class="content">
<div id="con_treee_1" style="display:none;">123</div>
<div id="con_treee_2" style="display:none;">hahahahha22</div>
<div id="con_treee_3" style="display:none;">hahahahha33</div>
<div id="con_treee_4" style="display:none;">hahahahha44</div>
</div>
</div>
 </body>
</html>

我在ie 火狐 谷歌下面测试都是正常的...

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友1f9c3e2
2014-10-14 · TA获得超过1836个赞
知道小有建树答主
回答量:638
采纳率:100%
帮助的人:400万
展开全部
jquery-easyui有现成的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式