2012-02-21 49 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在整个页面中是“平坦的”。如果您可以将'