zoukankan      html  css  js  c++  java
  • 实现html元素跟随touchmove事件的event.touches[0].clientX移动

    主要是使用了transform:translateX 实现

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width,initial-scale=1.0,user-scalable=0">
        <title>newWaterChart</title>
        <!--<link rel="stylesheet" href="css/newBarChart.css">-->
        <style>
            * {
                padding:0;
                margin:0;
                -webkit-box-sizing: border-box;
            }
            .chart-wrap {
                background-color: #7ecef4;
            }
            .chart-container {
                width:120%;
                height: 250px;
                padding-top: 100px;
                transform: translateX(-20px);
            }
            .chart-item {
                width: 20px;
                line-height: 120px;
                display: inline-block;
                border: 1px solid white;
                border-radius: 10px;
            }
            .flex-wrap {
                display: flex;justify-content: space-around;
            }
            .flex-item {
    
            }
            .chart-wrap {
                overflow: hidden;
            }
        </style>
    </head>
    <body>
    <div class="chart-wrap">
        <div class="chart-container flex-wrap">
            <span class="chart-item flex-item">1</span>
            <span class="chart-item flex-item">2</span>
            <span class="chart-item flex-item">3</span>
            <span class="chart-item flex-item">4</span>
            <span class="chart-item flex-item">5</span>
            <span class="chart-item flex-item">6</span>
            <span class="chart-item flex-item">7</span>
            <span class="chart-item flex-item">8</span>
            <span class="chart-item flex-item">9</span>
            <span class="chart-item flex-item">10</span>
            <span class="chart-item flex-item">11</span>
            <span class="chart-item flex-item">12</span>
        </div>
    </div>
    
    <script src="js/zepto.min.js"></script>
    <!--<script src="js/newBarChart.js"></script>-->
    <script>
        $(function () {
            var chartContanier = $(".chart-container");
            var touchstartClientX,
                    touchmoveClientX,
                    translateX,       //实时更新x轴偏移
                    shiftLen,         //touchmoveClientX - touchstartClientX
                    originalTranslateX,  //初始x轴偏移
                    flagMove = false;  //是否触发了touchmove事件
    
            //matrix(1, 0, 0, 1, -20, 0) ,第四个为原本偏移长度
            originalTranslateX = parseInt(chartContanier.css("transform").split(",")[4]);
    
            chartContanier.on("touchstart", function (event) {
                var event = event || window.event;
                event.preventDefault();
    
                if (shiftLen !== undefined && flagMove) {
                    originalTranslateX += shiftLen;
                }
                touchstartClientX = event.touches[0].clientX;
                flagMove = false;
            });
            chartContanier.on("touchmove", function (event) {
                var event = event || window.event;
                event.preventDefault();
    
                flagMove = true;
                touchmoveClientX = event.touches[0].clientX;
                shiftLen = touchmoveClientX - touchstartClientX;
                translateX = originalTranslateX + shiftLen;
    
                chartContanier.css("transform", "translateX(" + translateX + "px)");
            });
    
        });
    </script>
    </body>
    </html>
  • 相关阅读:
    第2天 栈和寄存器
    第1天 工作计划和开端
    贯穿实例(1)
    闹心的变量
    开启懒人模式
    前言
    python基础学习7-网络编程、异常处理、面向对象
    python基础学习6-mongodb、sys、接口开发、操作excel
    python基础学习5-常用函数模块、操作数据库、发邮件、写日志、写excel
    python基础学习4-函数、内置函数、os模块、time模块
  • 原文地址:https://www.cnblogs.com/scnuwangjie/p/5827255.html
Copyright © 2011-2022 走看看