jQuery选项卡淡入淡出
jQuery tabs fade in fade out
我正在尝试淡入淡出选项卡,这是代码:
$(document).ready(function(){
$('ul.tabs li').click(function(){
var tab_id = $(this).attr('data-tab');
$('ul.tabs li').removeClass('current');
$('.tab-content').removeClass('current');
$(this).addClass('current');
$("#"+tab_id).addClass('current').fadeIn('slow').delay(5000).fadeOut('slow');
})
})
但问题是,当我按下另一个选项卡时,内容会重复。这意味着文本会在另一个标签和部分中重复。
HTML:
<div class="container">
<ul class="tabs">
<li class="tab-link current" data-tab="tab-1">Tab One</li>
<li class="tab-link" data-tab="tab-2">Tab Two</li>
<li class="tab-link" data-tab="tab-3">Tab Three</li>
<li class="tab-link" data-tab="tab-4">Tab Four</li>
</ul>
<div id="tab-1" class="tab-content current">
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
</div>
<div id="tab-2" class="tab-content">
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
</div>
<div id="tab-3" class="tab-content">
Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
</div>
<div id="tab-4" class="tab-content">
Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
</div>
</div>
我更喜欢使用id作为选择器,并向每个li添加id
$(document).ready(function(){
$('#tab-link').click(function(){
var tab_li_id = $(this).attr('id');
var temp = tab_li_id.split('-');
var div_active = 'tab-div-'+temp[2]; //temp[0] contaings tab, temp[1] contains li and tab[2] contains the variabale 1,2,3,4 depending upon which li was clicked.
$('.tab-content').fadeOut(2000); //div
$('.tab-content').removeClass('current'); //div
$('.tab-link').removeClass('current'); //li
$('#'+div_active).addClass('current'); //div
$('#'+div_active).fadeIn(2000); //div
$('#'+tab_li_id).addClass('current'); //li
})
})
<ul class="tabs">
<li class="tab-link current" data-tab="tab-1" id="tab-li-1">Tab One</li>
<li class="tab-link" data-tab="tab-2" id="tab-li-2">Tab Two</li>
<li class="tab-link" data-tab="tab-3" id="tab-li-3">Tab Three</li>
<li class="tab-link" data-tab="tab-4" id="tab-li-4">Tab Four</li>
</ul>
<div id="tab-div-1" class="tab-content current">
Lorem ipsum dolor sit amet....
</div>
<div id="tab-div-2" class="tab-content">
Lorem ipsum dolor sit amet....
</div>
<div id="tab-div-3" class="tab-content">
Lorem ipsum dolor sit amet....
</div>
<div id="tab-div-4" class="tab-content">
Lorem ipsum dolor sit amet....
</div>
p.s.请确保包含jquery.js文件。
相关文章:
- Javascript将图像src更改为淡入淡出
- css(或jQuery)悬停时淡入淡出
- 将淡入淡出添加到“我的身体背景滑块”
- 多重潜水淡入淡出打开
- 添加/删除类淡入淡出不起作用
- 带有计数器、缩略图、进度条和淡入淡出效果的简单jQuery幻灯片
- 使用jquery淡入淡出
- 淡入淡出脚本不起作用
- 具有淡入淡出效果的全背景图像
- 纯 JavaScript 淡入淡出 - 淡入不起作用
- 帧淡出/淡入
- 如何在onClick事件中使用ReactJS淡出/淡入内容
- 淡出 ->淡入无法正常工作
- JQuery 淡出/淡入以创建排序列表
- 无法让元素淡出/淡入
- 正在添加'淡出/淡入'响应媒体查询
- jQuery:具有淡入和淡出(淡入)的图像
- Div won't淡出/淡入
- 淡出/淡入和上卷jquery效果
- 如何根据 SELECT 更改淡出/淡入视图