Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/418.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 关于样式的IF语句_Javascript_Html_Css - Fatal编程技术网

Javascript 关于样式的IF语句

Javascript 关于样式的IF语句,javascript,html,css,Javascript,Html,Css,我想知道是否可以这样做?页面为HTML格式,使用javascript 我离开了navgation,它在某些页面上使用了一种样式,我想使用另一种样式,所以我创建了一个新类 所以我想做的是: if page = a display leftmenu class else display left class 有人能帮我修改一下代码吗 假设您想使用JavaScript,就像您建议的那样: var page = 'whereveryougetpagefrom'; var elementToStyle

我想知道是否可以这样做?页面为HTML格式,使用javascript

我离开了navgation,它在某些页面上使用了一种样式,我想使用另一种样式,所以我创建了一个新类

所以我想做的是:

if page = a
display leftmenu class
else
display
left class

有人能帮我修改一下代码吗

假设您想使用JavaScript,就像您建议的那样:

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

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

但是,最好使用样式在CSS中完成此操作。

假设您想使用JavaScript,如您所建议的:

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

if (page == 'a') {
    elementToStyle.className += " leftmenu";
} else {
    elementToStyle.className += " left";
}
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
}

不过,这最好在CSS中使用样式来完成。

除非是动态的,否则使用服务器端语言可能会对您试图实现的目标更有意义

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
}
您可以通过
get
变量发送首选样式

如果您试图动态地执行此操作,单击链接可以更改元素的类名

var elem = document.getElementById('sidebar');
elem.className = 'leftmenu'

除非它是动态的,否则使用服务器端语言可能对您想要实现的目标更有意义

您可以通过
get
变量发送首选样式

如果您试图动态地执行此操作,单击链接可以更改元素的类名

var elem = document.getElementById('sidebar');
elem.className = 'leftmenu'

只需将ID添加到您的body标签:

<body id="a">

只需将ID添加到您的body标签:

<body id="a">

在表示当前页面的
html
元素上,我总是有一个
id
,类似于:

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

而且,leftmenu是一个非常糟糕的名字。如果您希望它位于#主页的右侧,该怎么办?

我在
html
元素上总是有一个
id
,表示当前页面,类似于:

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

而且,leftmenu是一个非常糟糕的名字。如果你想把它放在#主页的右边怎么办?

我想你可以在SCSSRemoved中这样做,因为这不是关于Java的问题。你可以创建“通用”样式,然后在出现另一个类时覆盖它们:
.foo{color:red;}
(用类foo-red给所有元素上色)
.bar.foo{color:green;}
(当foo位于一个绿色的条中时)这个问题有点模糊,根据您的情况有几个答案。我认为您可以在SCSSRemoved中执行此操作,因为这不是关于Java的问题。您可以创建“通用”样式,然后在出现另一个类时覆盖它们:
.foo{color:red;}
(用foo类将所有元素涂成红色)
.bar.foo{color:green;}
(当foo在一个条中时,将其涂成绿色)这个问题有点模糊,根据您的情况有几个答案。我甚至没有看到任何暗示PHP是解决方案的东西?我完全误读了问题的标签!:)更新为使用JavaScript。我甚至没有看到任何暗示PHP是解决方案的东西?我完全误读了问题的标签!:)更新为使用JavaScript。我使用的cms系统有点奇怪。我只能访问leftnav代码和css,无法访问正文区域,这就是为什么我试图提出在leftnav codeCSS中使用的if语句在整个页面上都是“平坦”的。如果你可以在leftnav的输出中插入一个
块,那么你可以使用上面的东西,只要指向你的nav块的父选择器是正确的。我使用的cms系统有点奇怪。我只能访问leftnav代码和css,无法访问正文区域,这就是为什么我试图提出在leftnav codeCSS中使用的if语句在整个页面上都是“平坦”的。如果您可以在leftnav的输出中插入
块,那么您可以使用上述内容,只要指向导航块的父选择器正确。