jQuery实现标签 滑动及点击切换效果
时间: 2023-12-20 09:07:59 浏览: 116
jQuery选项卡标签滑动切换效果.zip
以下是一个简单的示例代码,可以实现标签的滑动及点击切换效果:
HTML结构:
```
<div class="tab-container">
<ul class="tabs">
<li class="active">Tab 1</li>
<li>Tab 2</li>
<li>Tab 3</li>
</ul>
<div class="tab-content">
<div class="tab-pane active">Tab 1 content</div>
<div class="tab-pane">Tab 2 content</div>
<div class="tab-pane">Tab 3 content</div>
</div>
</div>
```
CSS样式:
```
.tab-container {
width: 100%;
max-width: 500px;
margin: 0 auto;
}
.tabs {
display: flex;
justify-content: center;
align-items: center;
list-style: none;
margin: 0;
padding: 0;
}
.tabs li {
cursor: pointer;
padding: 10px;
margin-right: 10px;
border: 1px solid #ccc;
border-bottom: none;
border-radius: 5px 5px 0 0;
}
.tabs li.active {
background-color: #f2f2f2;
border-bottom: 1px solid #ccc;
}
.tab-content {
border: 1px solid #ccc;
border-top: none;
padding: 20px;
border-radius: 0 0 5px 5px;
}
.tab-pane {
display: none;
}
.tab-pane.active {
display: block;
}
```
jQuery代码:
```
$(document).ready(function() {
// 初始状态,显示第一个 tab
$('.tabs li:first-child').addClass('active');
$('.tab-pane:first-child').addClass('active');
// 点击标签切换 tab
$('.tabs li').click(function() {
$('.tabs li').removeClass('active');
$(this).addClass('active');
var index = $(this).index();
$('.tab-pane').removeClass('active');
$('.tab-pane:eq(' + index + ')').addClass('active');
});
// 标签滑动效果
var $activeTab = $('.tabs li.active');
var $tabIndicator = $('<div class="tab-indicator"></div>');
$tabIndicator.appendTo('.tabs');
$tabIndicator.css({
'left': $activeTab.position().left,
'width': $activeTab.outerWidth()
});
$('.tabs li').hover(function() {
$tabIndicator.stop().animate({
'left': $(this).position().left,
'width': $(this).outerWidth()
}, 200);
}, function() {
$tabIndicator.stop().animate({
'left': $activeTab.position().left,
'width': $activeTab.outerWidth()
}, 200);
});
});
```
以上是一个简单的实现标签滑动及点击切换效果的示例代码,你可以根据具体需求进行修改和扩展。
阅读全文