jQuery左右滑动选项卡是一种常见的网页交互效果,允许用户通过左右滑动来切换不同的选项卡内容。这种效果通常用于展示多个内容块,用户可以通过滑动来快速浏览或选择感兴趣的部分。
以下是一个简单的jQuery左右滑动选项卡的示例代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>jQuery 左右滑动选项卡</title>
<style>
.tab-container {
width: 100%;
overflow: hidden;
}
.tab-content {
display: flex;
transition: transform 0.3s ease-in-out;
}
.tab-item {
min-width: 100%;
box-sizing: border-box;
padding: 20px;
border: 1px solid #ccc;
}
</style>
</head>
<body>
<div class="tab-container">
<div class="tab-content">
<div class="tab-item">内容1</div>
<div class="tab-item">内容2</div>
<div class="tab-item">内容3</div>
</div>
</div>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script>
$(document).ready(function() {
let startX = 0;
let currentX = 0;
let isDragging = false;
$('.tab-container').on('mousedown', function(event) {
startX = event.pageX;
isDragging = true;
});
$(document).on('mousemove', function(event) {
if (isDragging) {
currentX = event.pageX;
}
});
$(document).on('mouseup', function() {
if (isDragging) {
isDragging = false;
let deltaX = currentX - startX;
if (deltaX > 50) {
// 向右滑动
$('.tab-content').css('transform', `translateX(-${$('.tab-content').width() / 3})`);
} else if (deltaX < -50) {
// 向左滑动
$('.tab-content').css('transform', `translateX(0)`);
}
}
});
});
</script>
</body>
</html>
transition: transform 0.3s ease-in-out;
。mousemove
事件中正确计算滑动距离,如let deltaX = currentX - startX;
。if (deltaX > 50)
。event.preventDefault()
阻止默认行为,如$(document).on('touchmove', function(event) { event.preventDefault(); });
。通过以上方法,可以有效地实现和优化jQuery左右滑动选项卡的效果。
没有搜到相关的文章