Javascript 转换:转换和不需要的滚动/拖动元素,并将其';适用于

Javascript 转换:转换和不需要的滚动/拖动元素,并将其';适用于,javascript,jquery,html,css,Javascript,Jquery,Html,Css,因为这个原因,我在完成一个项目时遇到了严重的困难 我需要使用hw转换为元素设置动画,因此我使用transform:translate,但在动画完成后,您仍然可以使用鼠标中键触摸、拖动元素或滚动它,即使我已溢出父元素(在我的示例中为body)。我不能使用绝对定位,所以使用left:290px;这是不可能的 有什么想法吗?我在这件事上花了很多时间 <html> <style> body { overflow-x:hidden; } #myelem { width:18

因为这个原因,我在完成一个项目时遇到了严重的困难

我需要使用hw转换为元素设置动画,因此我使用transform:translate,但在动画完成后,您仍然可以使用鼠标中键触摸、拖动元素或滚动它,即使我已溢出父元素(在我的示例中为body)。我不能使用绝对定位,所以使用left:290px;这是不可能的

有什么想法吗?我在这件事上花了很多时间

<html>
<style>
body {
  overflow-x:hidden;
}
#myelem {
  width:1800px;
  height:100%;
  background:red;
  transform:translate(290px,0);
  -ms-transform:translate(290px,0); 
  -webkit-transform:translate(290px,0);
  -webkit-backface-visibility: hidden;
}
</style>
<body>
   <div id="myelem">
     test
   </div>
</body>
</html>

身体{
溢出x:隐藏;
}
#迈勒姆{
宽度:1800px;
身高:100%;
背景:红色;
变换:平移(290px,0);
-ms变换:平移(290px,0);
-webkit转换:翻译(290px,0);
-webkit背面可见性:隐藏;
}
测试
解决这个问题:

我认为你的小提琴显示不正确?我看到的是一个红色的div,里面有test?它根本没有被改变。小提琴按它应该的方式工作。这是一个转换:转换(290px)层。如果在小提琴窗口中的任意位置单击鼠标中键,可以看到当鼠标移到一边时,元素也会滚动,这是不应该的,因为我有一个溢出的body稍微更新了jsfiddle,以满足它的需要,并使元素更高。我正在寻找的是一种方法,使#myelem在X方向上转换后保持不变,并且根本无法移动。此外,此元素无法修复(这将解决我的问题,但会在我的项目中导致其他问题)
溢出:hidden
不会执行您认为它会执行的操作。除非您显式地将主体的with设置为特定的值。这意味着
body
html
都需要设置为
width:100%
。看见