![](/img/trans.png)
[英]Dynamically Change a CSS Background Image Based on Data in a Database (WordPress)
[英]Change a css div or body background image based on current URL
我需要這樣做的原因是,我正在工作的網站使用完全相同的模板來顯示多個頁面的動態內容。 所有頁面都復制完全相同的div id,因為它們以相同的方式顯示內容(標題內容除外!)。 標頭內容縮短了,但是div id仍然保留在源代碼中。
博客索引頁面需要顯示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)');
}
我經常根據模板或請求路徑為body類命名。 我知道您說過,它們都使用相同的模板,但是該模板具有參數,並且其中一個參數應該是
body_class
而且,無論您在網站中填充了什么控制器或動態內容並呈現了模板,都應該在/時將其傳遞給“ home”。 根據我以前的經驗,我還將傳遞其他內容,以便/ blog / category / post可能具有類似於
<body class="post two-column-a">
然后,您的選擇器如下所示:
body { ... }
body.home { ... }
這有效:
<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 /之后的任何頁面都會具有該背景。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.