Javascript If/Else 语句检查 content:url
Javascript If/Else statement checking content:url
我在找出正确的语法来让我的代码检查我的一张 ID 为“#main”的图像的值时遇到了问题。我的 CSS 图像使用 content:url 属性根据媒体查询更改其 src。我这样做的原因是因为我有大约 5 个不同的背景图像,它们以不同的宽度触发,为我的内容提供一个框架,我需要能够调整我的“.text”的高度 div 基于当前用作框架的图像。
我知道如何编写所有这些代码,我需要的只是帮助如何在第一个上正确地请求值,我应该能够从那里完成其余的工作。再次澄清一下,问题出在 if/else 声明中;该代码在没有 if/else 语句的情况下工作。
这是我的:
function updateHeight()
{
if ($("#main").css('content') === 'url("../images/main-bg2-landscape.png")') {
var div = $('.text');
var width = div.width();
div.css('height', width *.57);}
}
只是 CSS 的一个例子:
#main {z-index: -1;
position: absolute;}
.text {position: absolute;
background-color: #FFFFFF;
background-position: top;
left: 11%;
width: 78%;
margin-top: 19%;
opacity: .4;}
@media only screen and (min-width: 1025px) {
#main {content:url(../images/main-bg2-landscape.png);}
.text {position: absolute;
background-color: #FFFFFF;
background-position: top;
left: 11%;
width: 78%;
margin-top: 19%;
opacity: .4;}
}
谢谢
问题很可能是 css 中的 "url()" 调用将导致 HTML 中最终呈现的图像的完整路径。它不会是您放置在 .css 文件
中的相对路径
在这种情况下可能类似于 /images/main-bg2-landscape.png。如果您检查 chrome 中的图像元素或您选择的浏览器,您将看到最终出现在 HTML.
中的完整路径
更好的选择可能是仅对文件名进行比较,这样您就不会依赖于图像的位置。类似于:
if ($("#main").css('content').indexOf("main-bg2-landscape.png") !=-1) {
var div = $('.text');
var width = div.width();
div.css('height', width *.57);}
}
我在找出正确的语法来让我的代码检查我的一张 ID 为“#main”的图像的值时遇到了问题。我的 CSS 图像使用 content:url 属性根据媒体查询更改其 src。我这样做的原因是因为我有大约 5 个不同的背景图像,它们以不同的宽度触发,为我的内容提供一个框架,我需要能够调整我的“.text”的高度 div 基于当前用作框架的图像。
我知道如何编写所有这些代码,我需要的只是帮助如何在第一个上正确地请求值,我应该能够从那里完成其余的工作。再次澄清一下,问题出在 if/else 声明中;该代码在没有 if/else 语句的情况下工作。
这是我的:
function updateHeight()
{
if ($("#main").css('content') === 'url("../images/main-bg2-landscape.png")') {
var div = $('.text');
var width = div.width();
div.css('height', width *.57);}
}
只是 CSS 的一个例子:
#main {z-index: -1;
position: absolute;}
.text {position: absolute;
background-color: #FFFFFF;
background-position: top;
left: 11%;
width: 78%;
margin-top: 19%;
opacity: .4;}
@media only screen and (min-width: 1025px) {
#main {content:url(../images/main-bg2-landscape.png);}
.text {position: absolute;
background-color: #FFFFFF;
background-position: top;
left: 11%;
width: 78%;
margin-top: 19%;
opacity: .4;}
}
谢谢
问题很可能是 css 中的 "url()" 调用将导致 HTML 中最终呈现的图像的完整路径。它不会是您放置在 .css 文件
中的相对路径在这种情况下可能类似于 /images/main-bg2-landscape.png。如果您检查 chrome 中的图像元素或您选择的浏览器,您将看到最终出现在 HTML.
中的完整路径更好的选择可能是仅对文件名进行比较,这样您就不会依赖于图像的位置。类似于:
if ($("#main").css('content').indexOf("main-bg2-landscape.png") !=-1) {
var div = $('.text');
var width = div.width();
div.css('height', width *.57);}
}