jQuery 是一个快速、小巧且功能丰富的 JavaScript 库,它简化了 HTML 文档遍历、事件处理、动画和 Ajax 交互。触摸滑动图片是指在移动设备上通过触摸屏幕来滑动浏览图片。
以下是一个简单的 jQuery 触摸滑动图片的示例代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Touch Slider</title>
<style>
.slider {
width: 100%;
overflow: hidden;
position: relative;
}
.slider ul {
list-style: none;
padding: 0;
margin: 0;
display: flex;
}
.slider li {
min-width: 100%;
box-sizing: border-box;
}
.slider img {
width: 100%;
display: block;
}
</style>
</head>
<body>
<div class="slider">
<ul>
<li><img src="image1.jpg" alt="Image 1"></li>
<li><img src="image2.jpg" alt="Image 2"></li>
<li><img src="image3.jpg" alt="Image 3"></li>
</ul>
</div>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script>
$(document).ready(function() {
var startX, endX, currentX = 0;
var $slider = $('.slider ul');
var $sliderItems = $slider.find('li');
var itemWidth = $sliderItems.eq(0).outerWidth(true);
var totalItems = $sliderItems.length;
$slider.on('touchstart', function(event) {
startX = event.originalEvent.touches[0].pageX;
});
$slider.on('touchmove', function(event) {
event.preventDefault();
endX = event.originalEvent.touches[0].pageX;
currentX = currentX + (endX - startX);
$slider.css('transform', 'translateX(' + currentX + 'px)');
});
$slider.on('touchend', function(event) {
var diff = currentX - (currentX % itemWidth);
if (Math.abs(currentX - diff) > itemWidth / 4) {
currentX = diff - itemWidth;
} else {
currentX = diff;
}
$slider.css('transform', 'translateX(' + currentX + 'px)');
});
});
</script>
</body>
</html>
touchend
事件中计算滑动的距离和方向,根据结果调整图片的位置。通过以上方法,可以有效地解决 jQuery 触摸滑动图片时遇到的问题。
领取专属 10元无门槛券
手把手带您无忧上云