美文网首页
Bootstrap4 轮播 手动滑动加轮播时间调整

Bootstrap4 轮播 手动滑动加轮播时间调整

作者: 码农工号9527 | 来源:发表于2023-04-17 20:28 被阅读0次
    <!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 代码实现手指左右滑动

    相关文章

      网友评论

          本文标题:Bootstrap4 轮播 手动滑动加轮播时间调整

          本文链接:https://www.haomeiwen.com/subject/eqicjdtx.html