2011-05-17 88 views
4

我不知道我是否在正确的地方问这个问题。没有jQuery UI的垂直标签

我正在寻找垂直或侧面选项卡式内容的示例或教程,其中内容出现在侧面。与正常的标签式内容一样,但是这次是横向的(最好是左侧的标签)。但是,即使使用Google,似乎也没有关于它的任何内容。所以我迷路了。

或者我可能不知道这种技术的名称。

此外,我不想使用jquery ui。

有人可以告诉我的方式吗?

非常感谢

+0

如果你不介意我问,为什么你不想使用jQuery UI? – andyb 2011-05-17 15:58:28

+0

因为我不允许我在哪里工作。而且它只有一件事很重要 – Shaoz 2011-05-17 16:14:49

+0

好吧,我只是想知道为什么:-)浏览器缓存是不是这样,使用现有解决方案的好处将超过页面加载和_heaviness_?也就是说,已经有一些很好的答案可能会做你想做的。 – andyb 2011-05-17 20:04:30

回答

11

没有jQueryUI你凑LD做的东西很简单,干净的就像这样(示范=>http://jsfiddle.net/steweb/zwaBx/

标记:

<ul id="tabs-titles"> 
    <li class="current"> <!-- default (on page load), first one is currently displayed --> 
     first 
    </li> 
    <li> 
     second 
    </li> 
    <li> 
     third 
    </li> 
</ul> 
<ul id="tabs-contents"> 
    <li> 
     <div class="content">first content first content first content</div> 
    </li> 
    <li> 
     <div class="content">second content</div> 
    </li> 
    <li> 
     <div class="content">third content</div> 
    </li> 
</ul> 

CSS

#tabs-titles{ 
    float:left; 
    margin-right:10px; 
} 
#tabs-titles li{ 
    cursor:pointer; 
} 
#tabs-titles li.current{ 
    font-weight:bolder; 
} 
#tabs-contents{ 
    background:#F2F2F2; 
    margin-left:100px; 
    padding:5px; 
} 
#tabs-contents li{ 
    display:none; 
} 
#tabs-contents li:first-child{ 
    display:block; /* first one content displayed by default */ 
} 

JS:(简单的jQuery,不UI)

var tabs = $('#tabs-titles li'); //grab tabs 
var contents = $('#tabs-contents li'); //grab contents 

tabs.bind('click',function(){ 
    contents.hide(); //hide all contents 
    tabs.removeClass('current'); //remove 'current' classes 
    $(contents[$(this).index()]).show(); //show tab content that matches tab title index 
    $(this).addClass('current'); //add current class on clicked tab title 
}); 
+0

+1好看又简单。我知道这不是问题中的要求,但如果禁用JavaScript,仍然可以看到所有内容。 – andyb 2011-05-17 20:26:32

3

下面是许多免费教程之一:Vertical Tabs for jQuery lovers!

+0

+ 1为一个不错的和简单的解决方案。从该页面上的评论可能无法在IE6中工作,所以如果您需要支持IE6,可能需要进行一些调整。 – andyb 2011-05-17 20:06:42