• 移动端 图片放大缩小 (双手指) 单手指移动


    <style>
        .container{width: 100%;height: 200px;text-align: center;}
        .imgMax{width: 100%;}
        .containerBg{background-color: black;width: 100%;height: 100%;position: fixed;top: 0px;left: 0px;z-index: 111}
        .containerBg img{width: 100%;margin: auto;}
    </style>
    <div class="container"><img class="imgMax" src="/static/wap/images/220150.png" alt=""></div>
    <div class="containerBg" style="display: none;">
        <img class="containerBgImg" style="transform: translate(0px,0px) translateZ(0px)" src="/static/wap/images/220150.png" alt="">
        <span style="color: #FFFFFF;">11111111111111</span>
    </div>
    <script>
        var dis = [];
        var x ;
        var y ;
        var disMinOld = 1;
        var disMin =1 ;
        var transX;
        var transY;
        var posX=0;
        var posY=0;
        $(".imgMax").on('click',function () {
            $(".containerBg").show();
        });
        $(document).on('touchstart','.containerBgImg',function (e) {
            var evt = e.originalEvent;
    //        if(evt.touches.length == 2) {
                x = Number(evt.touches[0].clientX);
                y = Number(evt.touches[0].clientY);
    //        }
            var matrix = $(".containerBgImg").css('transform');
             transX =   parseFloat(matrix.split("(")[1].split(")")[0].split(", ")[4]);
             transY =   parseFloat(matrix.split("(")[1].split(")")[0].split(", ")[5]);
        });
        $(document).on('touchmove','.containerBgImg',function (e) {
            touchMoveImg(e)
        });
        $(".containerBgImg").on('touchend',function (e) {
            dis = [];
            disMinOld = disMin;
        });
        function touchMoveImg(e) {
            e.preventDefault();
            var evt = e.originalEvent;
            try {
                if(evt.touches.length == 2){
                    var x1 = Number(evt.touches[1].clientX);
                    var y1 = Number(evt.touches[1].clientY);
                    dis.push(Math.sqrt(Math.pow(x-x1,2) + Math.pow(y-y1,2)));
                    if(dis.length > 1){
                         disMin = dis[dis.length-1]/dis[0];
                        disMin = disMinOld*disMin;
                        $(".containerBgImg").css({
                            'webkitTransform':'scale('+disMin+') translate('+transX+'px,'+transY+'px)'
                        })
                    }
                }else if(evt.touches.length == 1){
                    var x1 = Number(evt.touches[0].clientX);
                    var y1 = Number(evt.touches[0].clientY);
                       posX = parseFloat(x1-x);
                       posY = parseFloat(y1-y);
                       posX = posX+transX;
                       posY = posY+transY;
                        $(".containerBgImg").css({
                            'transform':'translate('+posX+'px,'+posY+'px) scale('+disMinOld+')',
                            '-webkit-transform':'translate('+posX+'px,'+posY+'px) scale('+disMinOld+')',
                            '-ms-transform':'translate('+posX+'px,'+posY+'px) scale('+disMinOld+')'
                        })
    
                }
            }catch (e) {
                alert('touchMoveFunc:' + e.message);
            }
    
        }
    </script>
  • 相关阅读:
    Linux nginx 安装 启动
    MySQL5.7版本sql_mode=only_full_group_by问题解决办法
    Tomcat配置Gizp 客户端使用okHttp3
    tomcat 验证码显示问题
    JProfiler 教程 使用说明
    mysql update 子查询作为条件
    reids等非关系数据库管理工具treesoft
    常用Linux 命令
    vue中计算属性的get与set方法
    Less和Sass相同与不同
  • 原文地址:https://www.cnblogs.com/lst619247/p/9324244.html
Copyright © 2020-2023  润新知