用例2解决方案 - 这是一个稍长的解决方案,但它非常灵活,可以非常容易地扩展到任意数量的选项卡
我们将把解决方案分为3个部分 - CSS,HTML和JQuery。
让我们来看看CSS部分第一
<style>
#tab_holder {
width: 350px; !important
}
#tab_holder .tabs {
float: left;
height: 20px;
padding: 5px;
border: 1px solid #eee;
border-bottom: none;
width: 50px;
cursor: pointer;
border-radius: 5px 5px 0 0;
}
#tab_holder .tabs:hover {
background-color: #eee;
}
#tab_holder #content_holder {
width: 400px; !important
margin: 0 0 0 0;
border: 1px solid #000;
padding: 10px;
float: left;
border-radius: 0 5px 5px 5px;
}
.content {
visibility: hidden;
}
</style>
现在让我们来看看这个解决方案的HTML部分
<div id="tab_holder">
<div id="tab1" class="tabs">Video1</div>
<div id="tab2" class="tabs">Video2</div>
<div id="tab3" class="tabs">Video3</div>
<div id="content_holder">
<div id="main_content">Select a tab to see the video..</div>
</div>
</div>
<!-- These are divs in which you put your actual content.
They are always hidden -->
<div id="content1" class="content">
<iframe width="200" height="200" src="http://www.youtube.com/embed/4Z6YUGGlwtA?rel=0" frameborder="0" allowfullscreen></iframe>
< /div>
<div id="content2" class="content">
<iframe width="200" height="200" src="http://www.youtube.com/embed/s13dLaTIHSg?rel=0" frameborder="0" allowfullscreen></iframe>
</div>
<div id="content3" class="content">
<iframe width="200" height="200" src="http://www.youtube.com/embed/I1qHVVbYG8Y?rel=0" frameborder="0" allowfullscreen></iframe>
</div>
你可以看到,每个标签为a div使用CSS部分中的“tabs”类。如果你需要添加一个新的标签,你所要做的就是添加一个新的div,并给出一个新的ID。例如添加第四选项卡,你可以说 -
<div id="tab4" class="tabs">Video4</div>
它是那样简单。 现在我喜欢这种方法的东西是,你可以放置内容显示在div的,而不是嵌套在jquery下。在这种情况下,我们使用div的ID content1 content2 content3
这使您可以灵活地扩展,因为您在div中输入内容并使用普通标记而不会感到困惑和放松。
这些div不可见,因为我们已将它们的可见性设置为到隐藏是CSS。
如果您添加一个新的标签div,您还必须添加一个新的内容div。
现在我们移动到JQuery的部分 -
以上的JQuery
$(document).ready(function(){
/* Add the listeners. */
$("#tab1").mouseover(function(){
switch_content('content1')
});
$("#tab2").mouseover(function(){
switch_content('content2')
});
$("#tab3").mouseover(function(){
switch_content('content3')
});
});
function switch_content(name){
$("#main_content").fadeOut('fast',function(){
$("#main_content").html($("#"+name).html());
$("#main_content").fadeIn('fast');
});
}
功能是非常直截了当。每个选项卡都附有一个动作侦听器,该动作侦听器由mousover事件触发。所以,如果你用id = TAB4和用id = content4其各自的内容的div添加另一个选项卡,然后你必须在jQuery的补充说明的是:
$("#tab4").mouseover(function(){
switch_content('content4')
});
所以就变得非常容易扩展的代码。
您可以找到相关的工作演示对我website demo section
提示 -
- 避免使用悬停,因为它创造因意外悬停一个恼人的用户体验,这是很难的移动平台效仿这个事件。他们中的大多数回落到点击。所以我建议使用click事件。
- 如果您必须使用,请使用HTML视频标签,并在用户悬停在另一个选项卡上时使用JS暂停视频。这将带来更好的用户体验。
'div'只是一个块元素。你可以使用'p',或者一个部分,或者其他什么。你需要使用JavaScript来做你想做的。学习JavaScript和DOM,然后学习jQuery,然后看看jquery-ui。当然有其他选择。 –