2014-09-26 32 views
0

好的,這裏是概念。我的HTML文檔有一個onClick運行Javascript函數的按鈕。在網頁上有兩個大分部,按鈕的目的是交換分部的位置。例如,左邊的那個右邊,右邊的那個右邊。如何禁用CSS屬性並使其無效

問題是,「左」CSS屬性佔據了「右」屬性,所以如果在具有固定寬度的div上左和右屬性都設置爲0,它將會左移。因此,我無法得到左邊的內容,因爲「左」屬性仍然存在。

我需要一些方法來使左側屬性無效,就好像我從來沒有設置它,因此div將向右移動。

的兩個div被稱爲「內容」和「導航」這裏是我JS:

var order = 0; 
var current; 
var switchLayout = function() { 
    if(order === 0) { 
     current = document.getElementById('content'); 
     current.style.position = 'absolute'; 
     current = document.getElementById('navigation'); 
     current.style.left = '0'; 
     order = 1; 
    } else { 
     current = document.getElementById('content'); 
     current.style.position = 'relative'; 
     current = document.getElementById('navigation'); 
     current.style.left = 'null'; 
     current.style.right = '0'; 
     order = 0; 
    } 
} 

任何幫助表示讚賞。謝謝!

+3

的可能重複[如何使用JavaScript刪除CSS屬性?](http://stackoverflow.com/questions/2027935/how-to-remove-css -property -using-javascript) – Mooseman 2014-09-26 20:21:15

+2

如果你必須設置一個值,['left'](https://developer.mozilla.org/en-US/docs/Web/CSS/left)和['right'] (https://developer.mozilla.org/en-US/docs/Web/CSS/right)可以設置爲「auto」。 – ajp15243 2014-09-26 20:22:12

+0

非常感謝你們!如果這是重複的,我很抱歉。 – turkey3 2014-09-26 20:23:12

回答

2

不要做你的CSS在Javascript中。要解決這個最簡單的方法是有兩個CSS類

.left{ 
/* styling */ 
} 
.right { 
/* styling */ 
} 

var switchLayout = function() { 
    var content = document.getElementById('content'), 
     nav = document.getElementById('navigation'); 
    if (content.className === "left") { 
     content.className = "right"; 
     nav.className = "left"; 
    } else { 
     content.className = "left"; 
     nav.className = "right"; 
    } 
}