Javascript:如何检查一个css样式,然后更改另一个css样式?

Javascript:如何检查一个css样式,然后更改另一个css样式?,javascript,css,function,styles,Javascript,Css,Function,Styles,我试图检查名为#right的div的leftcss属性是否等于0%,如果等于true,则将另一个名为的div菜单的display属性更改为'none' 我知道要获得CSS样式,需要使用以下函数: document.getElementById("right").style.left = '0%' 但我无法确定如何始终运行此函数,以便只要左侧样式等于0%,就隐藏菜单div 我已经尝试了很多方法,但似乎都无法实现。也许有更好的方法来实现这一点 任何帮助都将不胜感激。谢谢 步骤1:创建函数 func

我试图检查名为
#right
div的
left
css属性是否等于
0%
,如果等于true,则将另一个名为
div
菜单的
display
属性更改为
'none'

我知道要获得CSS样式,需要使用以下函数:

document.getElementById("right").style.left = '0%'
但我无法确定如何始终运行此函数,以便只要左侧样式等于
0%
,就隐藏菜单div

我已经尝试了很多方法,但似乎都无法实现。也许有更好的方法来实现这一点


任何帮助都将不胜感激。谢谢

步骤1:创建函数

function setMenuDisplay() {
  var right = document.getElementById("right");
  var menu = document.getElementById("menu");
  menu.style.display = right.offsetLeft ? "block" : "none";
}
步骤2:在任何可能更改
#right
属性
left
(window.onload、window.onresize或任何影响页面内容的函数)的事件中调用此函数只需使用getComputedStyle()函数即可。它返回具有元素CSS属性值的字符串:

console.log(getComputedStyle(someElement).opacity) //0.5
console.log(getComputedStyle(someElement).width) //47px
//and on, and on…

左侧属性何时更新?使用JavaScript?在这种情况下,您不能将其封装在函数中,并且每次调用该函数时,您都要检查新值是否为0%,如果是,则隐藏另一个元素?最简单的方法是使用Javascript函数。但它必须先通过css设置默认值。否则javascript可能无法正确读取值。是的,left属性通过javascript更新,默认值为0%。当调用函数并隐藏元素时,我该如何检查值?没有CSS更改事件,因此您最好的选择是查看到底是什么导致样式更改。可能是鼠标悬停、另一个javascript事件或窗口大小调整?如果没有可靠的原因,您应该使用
setInterval
每秒重复功能5次(间隔200次)。不要重复太多,否则会使页面速度变慢,尤其是在移动设备上。您可以创建一个函数,例如,
updateleftright(pixels)
来更新
left
,并在该函数中添加一个复选框,例如,
if(pixels='0%'){…;hdiethemen()
并始终使用此功能更新
右侧的
左侧