2013-04-14 84 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…