我确定可以根据网址更改背景图片吗?
例如 www.myurl.co.uk/halloween/
如果 url 包含 /halloween/ 那么 body {background:url(/images/newbackground.jpg)}
我想我以前做过这个,但对于我的生活,我不记得怎么做。
首选 jQuery?
我确定可以根据网址更改背景图片吗?
例如 www.myurl.co.uk/halloween/
如果 url 包含 /halloween/ 那么 body {background:url(/images/newbackground.jpg)}
我想我以前做过这个,但对于我的生活,我不记得怎么做。
首选 jQuery?
$(document).ready(function () {
if(window.location.href.indexOf("halloween") > -1) {
alert("your url contains the name halloween");
$("body").css('background', 'url("images/newbackground.jpg")');
}
});
此代码段可能会为您解决问题:
if(window.location.indexOf("halloween") != -1) {
$("body").css('background', 'url(imgs/halloween.png)');
}
它在当前 url 中查找字符串“halloween”,如果在其中的任何位置找到它,则将正文背景设置为“imgs/halloween.png”。
jQuery 为此增加了不必要的开销。给定关键字到图像的映射:
var images = {
'halloween' : '/images/newbackground.jpg',
'christmas' : '/images/xmasbackground.jpg'
};
你可以这样做:
var url = document.location.href,
elem = document.getElementById('elementThatYouWantToStyle');
for (var keyword in images){
if (images.hasOwnProperty(keyword) && url.indexOf(keyword) !== -1) {
elem.style.backgroundImage = 'url(' + encodeURI(images[keyword]) + ')';
}
}
现在,有了一个成熟的(谢天谢地经过调试的)功能形式:
var images = {
'halloween': 'http://davidrhysthomas.co.uk/img/dexter.png',
'christmas': 'http://davidrhysthomas.co.uk/img/mandark.png'
};
function setBG(el, map, url) {
if (!el || !map) {
return false;
}
else {
url = url || document.location.href;
/* means you can pass an element's `id` or a reference to the node itself */
el = el.nodeType == 1 ? el : document.getElementById(el);
for (var keyword in map) {
if (map.hasOwnProperty(keyword) && url.indexOf(keyword) !== -1) {
el.style.backgroundImage = 'url(' + map[keyword] + ')';
}
}
}
}
setBG('one', images, 'http://some.domain.com/with/halloween.jpg');
setBG(document.getElementById('two'), images, 'http://some.domain.com/with/christmas.jpg');
试试这个
<script>
var currentUrl = document.URL;
if(currentUrl == 'www.myurl.co.uk/halloween/')
document.body.style.backgroundImage = 'url(/images/newbackground.jpg)';
</script>
也许你通过 jQuery 为每个页面的正文添加一个类,例如 /halloween/: $("body").addClass("halloween");
然后在 Css 中:body.halloween { /* custom bg */ }
您也可以将所有链接设为橙色:body.halloween a {color:orange;}
在脚本标签中包含以下代码 -
$(document).ready(function() {
var path = window.location.href.split("/");
if (path.length > 2) {
if(a[2] == "halloween" ) {
$('body').css({background : 'url(/images/newbackground.jpg)' });
}
else if(a[2] == "something_else") {
$('body').css({background : 'url(/images/something_else.jpg)' });
}
//more else if for other images
}
});