Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript中的Laggy转换_Javascript_Html - Fatal编程技术网

javascript中的Laggy转换

javascript中的Laggy转换,javascript,html,Javascript,Html,因此,我正在用HTML制作一个页面,并使用Javascript进行转换: HTML: 当运行这些时,它们不是平滑的,它们看起来有点滞后。如何使它们更平滑?尝试使用类向元素添加动画 但是,如果您试图创建一个侧栏,那么这种方法可能方向不正确。如果你想让它发生在悬停状态,你可以像抱歉,我忘了添加HTML代码,请查看更新后的问题。根据更新后的HTML编辑答案,并添加到小提琴的链接。边距逐像素设置动画:不可能有子像素值。使用translateX()可能是一个更好的主意,它的优点是可以将元素的渲染卸载到GP

因此,我正在用HTML制作一个页面,并使用Javascript进行转换:

HTML:


当运行这些时,它们不是平滑的,它们看起来有点滞后。如何使它们更平滑?

尝试使用类向元素添加动画


但是,如果您试图创建一个侧栏,那么这种方法可能方向不正确。如果你想让它发生在悬停状态,你可以像

抱歉,我忘了添加
HTML
代码,请查看更新后的问题。根据更新后的HTML编辑答案,并添加到小提琴的链接。边距逐像素设置动画:不可能有子像素值。使用
translateX()
可能是一个更好的主意,它的优点是可以将元素的渲染卸载到GPU。
<div id="sidebar" onmouseover="expand()" onmouseout="collapse()">
function expand() {
    document.getElementById("main-container").style.marginLeft= "160px";
    document.getElementById("main-container").style.transition = "all 0.2s";
}

function collapse() {
    document.getElementById("main-container").style.marginLeft= "60px";
    document.getElementById("main-container").style.transition = "all 0.2s";
}
<div id="sidebar" onmouseover="expand()" onmouseout="collapse()">
#sidebar {
  width: 350px;
  height: 100vh;
  background: red;
  transition: transform 0.2s linear;
}

#sidebar.expanded {
    transform: translateX(160px);
}
function expand() {
document.getElementById("sidebar").classList.add("expanded");
}

function collapse() {
document.getElementById("sidebar").classList.remove("expanded");

}