2012-02-21 51 views
0

我想知道是否可以做到這一點?頁是在HTML中,使用JavaScript圍繞風格的IF聲明

我已經離開navgation它採用了風格在某些頁面上我想用另一種風格,所以我創建了一個新的類

所以我想要做的是:

if page = a 
display leftmenu class 
else 
display 
left class 

有人可以幫助我的代碼,使其工作?

+1

我認爲你可以在SCSS中做到這一點 – 2012-02-21 15:28:05

+0

刪除了你的Java標記,因爲這不是關於Java的問題 – 2012-02-21 15:28:12

+1

你可以創建「通用」樣式,然後在出現另一個類時覆蓋它們:'.foo {color:red; }(用foo紅色給所有元素着色)'.bar .foo {color:green; }'(當foo在一個條形的顏色裏,它改爲綠色) – 2012-02-21 15:29:57

回答

0

我總是表示當前頁面的html元素的id,東西如:

<html id="home-page">, <html id="about-page"> 

與在手就可以輕鬆地完成你在做什麼使用後:

div.leftmenu {general styling} 

#about-page div.leftmenu {styling specific to the About page} 

此外,leftmenu是一個非常糟糕的名字。如果你想在#主頁的右側做什麼呢?

2

假設你想使用的JavaScript,像你這樣的建議:

var page = 'whereveryougetpagefrom'; 
var elementToStyle = document.getElementById('nameofelement'); 

if (page == 'a') { 
    elementToStyle.className += " leftmenu"; 
} else { 
    elementToStyle.className += " left"; 
} 

然而,這是最好的使用CSS樣式完成。

+0

我什至不會看到任何會影響PHP的解決方案? – 2012-02-21 15:31:00

+0

我完全誤解了問題上的標籤! :)更新爲使用JavaScript代替。 – 2012-02-21 15:38:19

3
body div.leftmenu { 
    styles for other non-display pages 
} 

body.display div.leftmenu { 
    styles for left menu on a 'display' page 
    override any styles defined above 
} 
+0

[以上示例](http://jsfiddle.net/RbNzn/) – 2012-02-21 15:33:56

+0

我使用的cms系統有點奇怪。我只能訪問leftnav代碼和css,並且不能訪問body區域,這就是爲什麼我想要在左側導航代碼中使用if語句的原因。 – user1223695 2012-02-21 15:38:18

+0

CSS在整個頁面中是「平坦的」。如果您可以將'