jQuery 是一个快速、小巧且功能丰富的 JavaScript 库,它简化了 HTML 文档遍历、事件处理、动画和 Ajax 交互。左右滑动监听通常用于移动设备或触摸屏界面,以检测用户是否进行了水平滑动操作。
touchstart
、touchmove
和 touchend
事件来实现滑动检测。mousedown
、mousemove
和 mouseup
事件来实现滑动检测。以下是一个使用 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>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<style>
#container {
width: 100%;
height: 200px;
overflow: hidden;
border: 1px solid #000;
}
#content {
width: 300%;
height: 100%;
display: flex;
transition: transform 0.3s ease;
}
.item {
width: 33.33%;
height: 100%;
background-color: #ccc;
text-align: center;
line-height: 200px;
}
</style>
</head>
<body>
<div id="container">
<div id="content">
<div class="item">Item 1</div>
<div class="item">Item 2</div>
<div class="item">Item 3</div>
</div>
</div>
<script>
$(document).ready(function() {
let startX, endX, deltaX;
$('#container').on('touchstart', function(event) {
startX = event.originalEvent.touches[0].clientX;
});
$('#container').on('touchmove', function(event) {
event.preventDefault();
endX = event.originalEvent.touches[0].clientX;
deltaX = endX - startX;
});
$('#container').on('touchend', function() {
if (deltaX > 50) {
// 向右滑动
$('#content').css('transform', 'translateX(-33.33%)');
} else if (deltaX < -50) {
// 向左滑动
$('#content').css('transform', 'translateX(0)');
}
});
});
</script>
</body>
</html>
deltaX
的阈值设置过高,可以适当降低阈值。deltaX
的计算和判断逻辑正确。event.preventDefault()
阻止默认行为。通过以上示例代码和解释,你应该能够实现一个基本的 jQuery 左右滑动监听功能,并解决一些常见问题。
没有搜到相关的沙龙
领取专属 10元无门槛券
手把手带您无忧上云