<!DOCTYPE html>
<html>
<head>
<title>Bootstrap 实例</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://cdn.staticfile.org/twitter-bootstrap/4.3.1/css/bootstrap.min.css">
<script src="https://cdn.staticfile.org/jquery/3.2.1/jquery.min.js"></script>
<script src="https://cdn.staticfile.org/popper.js/1.15.0/umd/popper.min.js"></script>
<script src="https://cdn.staticfile.org/twitter-bootstrap/4.3.1/js/bootstrap.min.js"></script>
<style>
/* Make the image fully responsive */
.carousel-inner img {
width: 100%;
height: 100%;
}
</style>
</head>
<body>
<div id="demo" class="carousel slide" data-ride="carousel" data-interval="1500">
<!-- 指示符 -->
<ul class="carousel-indicators">
<li data-target="#demo" data-slide-to="0" class="active"></li>
<li data-target="#demo" data-slide-to="1"></li>
<li data-target="#demo" data-slide-to="2"></li>
</ul>
<!-- 轮播图片 -->
<div class="carousel-inner">
<div class="carousel-item active">
<img src="https://static.runoob.com/images/mix/img_fjords_wide.jpg">
</div>
<div class="carousel-item">
<img src="https://static.runoob.com/images/mix/img_nature_wide.jpg">
</div>
<div class="carousel-item">
<img src="https://static.runoob.com/images/mix/img_mountains_wide.jpg">
</div>
</div>
<!-- 左右切换按钮 -->
<a class="carousel-control-prev" href="#demo" data-slide="prev">
<span class="carousel-control-prev-icon"></span>
</a>
<a class="carousel-control-next" href="#demo" data-slide="next">
<span class="carousel-control-next-icon"></span>
</a>
</div>
<script>
//定义起始为止的和结束位置变量
let start, end;
function handleTouchEvent(event) {
//代表用户手指有触摸的状态,离开的时候状态touches的长度为0
if (event.touches.length == 1) {
//获取当前位置(手指触摸的时候一直是触发的状态)
let positionDom = event.touches[0].clientX;
switch (event.type) {
//手指放在一个DOM元素上
case "touchstart":
console.log(positionDom);
start = positionDom;
break;
//手指拖曳一个DOM元素
case "touchmove":
console.log(positionDom);
end = positionDom;
break;
}
}else if(event.touches.length == 0){
//手指从一个DOM元素上移开
if(event.type == "touchend"){
//代表用户向上滑动
if(end > start){
//跳转到上一页
$("#carouselExampleCaptions").carousel('prev');
}else if(end < start){
//跳转到下一页
$("#carouselExampleCaptions").carousel('next');
}
}
}
}
document.getElementById("demo").addEventListener("touchstart", handleTouchEvent, false);
document.getElementById("demo").addEventListener("touchend", handleTouchEvent, false);
document.getElementById("demo").addEventListener("touchmove", handleTouchEvent, false);
</script>
</body>
</html>
data-interval="1500" 指 1.5秒滑动一次
js 代码实现手指左右滑动