0

我需要这样做的原因是我正在处理的网站使用完全相同的模板来显示多个页面的动态内容。所有页面都复制完全相同的 div id,因为它们以相同的方式显示内容(标题内容除外!)。标题内容会缩短,但 div id 仍保留在源代码中。

博客索引页面需要显示一张背景图片,而网站上的每个其他页面都需要显示另一张背景图片。

提前感谢您的帮助。

4

3 回答 3

1

这段代码将做你想做的事:

if (window.location.href.indexOf('somepart_of_the_url') != -1) {
    //Change background to some div
    $('#somediv').css('backgroundImage','url(images/mybackgroundimage.jpg)');
    //Change background to page body
    $("document.body").css('backgroundImage','url(images/mybackgroundimage.jpg)');
}
于 2012-09-15T00:32:57.097 回答
1

我经常根据模板或请求路径为 body 类命名。我知道你说他们都使用相同的模板,但是该模板需要参数,其中一个参数应该是

body_class

当你在 /. 时,无论你有什么控制器/动态的东西来填充你的站点并渲染模板,都应该传入“home”。在我以前的经验中,我也会传递其他内容,以便 /blog/category/post 可能有一个像

<body class="post two-column-a">

然后你的选择器是这样的:

body { ... }
body.home { ... }
于 2012-09-15T00:36:39.850 回答
0

这有效:

<script language="javascript">
$(document).ready(function() {
if (window.location.href.indexOf('INDEX_URL') != -1) {
//Change background
$('#DIV_ID').css({'background-image': 'url(http://URL.com/images/BG.jpg)', 'background-repeat': 'repeat-x', 'background-position': 'center top', 'width': '100%!important', 'min-height': '400px'});
}
});
</script>

这段代码的缺陷在于,如果您将目录插入“INDEX_URL”,例如 /folder/,则 /folder/ 之后的任何页面都将具有该背景。

于 2012-09-15T17:34:39.080 回答