2013-04-14 60 views
1

我想检查是否一个名为#rightdivleft CSS属性等于0%,然后如果这等于真,那么另一个div命名#menudisplay属性更改为'none'Javascript:我如何检查CSS样式,然后更改另一种CSS样式?

我知道让你使用以下功能的CSS样式:

document.getElementById("right").style.left = '0%' 

但我不能工作了,这样只要左风格等于0%如何始终运行该功能,然后隐藏菜单div。

我已经尝试了许多方法来做到这一点,似乎无法得到它的工作。也许有更好的方法来实现这一点。

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

+0

jQuery允许吗? –

+0

何时更新了左侧属性?用JavaScript?在这种情况下,你不能将它封装在一个函数中,并且每次调用该函数时都检查新值是否为0%,如果是,则隐藏另一个元素? –

+0

最简单的方法是使用Javascript函数。但它必须首先通过CSS设置默认值。否则,javascript可能无法正确读取值。 – itsols

回答

0

步骤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或影响任何功能页面内容)

0

想想更宽只是使用getComputedStyle()函数。它返回CSS元素属性值的字符串:

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