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()
并始终使用此功能更新右侧的左侧