javascript - 移动设备上的图像拖动故障

标签 javascript jquery html css

我构建了一个快速 block ,允许某人放大图像然后拖动(平移和缩放)。

为此,我使用了全景缩放:

jQuery(document).ready(function( $ ) {

  $("#panzoom").panzoom({
    $zoomRange: $(".zoom-range"),
    $reset: $(".reset"),
    contain: 'invert',
  });

});
.wrap{
  position: relative;
  background: black;
  padding: 60px 20px;
  height: 600px;
}
.wrap .padding, section{
  height: 100%;
}

.wrap .buttons {
  position: absolute;
  z-index:1;
  top: 0;
  right:0;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.panzoom/2.0.6/jquery.panzoom.min.js"></script>

<div class="wrap">
  
  <div class="padding">
  
    <section>
      <div id="panzoom" style="text-align: center">
          <img src="https://i.imgur.com/KhWo66L.png" width="100%">
      </div>
    </section>

    <section class="buttons">
      <button class="reset">Reset</button>
      <input type="range" class="zoom-range">
    </section>
    
  </div>
  
</div>

以上在桌面上运行良好。但在移动设备上,由于用户使用屏幕进行滚动,因此在尝试拖动图像时,它会“卡顿”。

难以解释,最好在实际设备上进行演示。

关于这里的问题有什么想法吗?

最佳答案

使用这个 library相反,它更稳定

// just grab a DOM element
const element = document.querySelector('.wrap');

// And pass it to panzoom
panzoom(element);
.wrap{
  position: relative;
  background: black;
  padding: 60px 20px;
  height: 600px;
}
.wrap .padding, section{
  height: 100%;
}

.wrap .buttons {
  position: absolute;
  z-index:1;
  top: 0;
  right:0;
}
<script src='https://unpkg.com/panzoom@8.7.3/dist/panzoom.min.js'></script>

<div class="wrap">
  
  <div class="padding">
  
    <section>
      <div id="panzoom" style="text-align: center">
          <img src="https://i.imgur.com/KhWo66L.png" width="100%">
      </div>
    </section>

    <section class="buttons">
      <button class="reset">Reset</button>
      <input type="range" class="zoom-range">
    </section>
    
  </div>
  
</div>

关于javascript - 移动设备上的图像拖动故障,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59631178/

相关文章:

javascript - 什么会使用更少的CPU刻度: insertBefore vs innerHTML?

javascript - 使用 CSS 滑动按钮/菜单

php - 在 PHP 中自动重定向页面

javascript - 如何将文档名称发送到 javascript 文件?

javascript - 从客户端 javascript 发送数据 SAP Fiori launchpad webapp/SAPUI5 webapp

javascript - 什么是随机替换百度统计(Analytics)的Javascript代码来对浏览器上的网站进行DDOS攻击?

javascript - 使用 Bootstrap 的模态弹出窗口

javascript - jQuery:向 URL 哈希写入和读取参数的轻量级方法?

javascript - 跳转到下一个 div 并在用户滚动时将其置于屏幕中央

html - 将元素放在中心