单击按钮时更改整个页面背景

时间:2013-01-23 14:23:46

标签: css

所以这是我的问题:

假设我有一个带3个按钮的页面。每个都包含一个独特的图案作为背景。一旦我点击/悬停在其中一个按钮上,我想更改整个页面背景图像。

我需要的是类似http://subtlepatterns.com/的内容 我不需要停止预览选项,只要当我选择其他按钮时背景图像再次改变。

我该怎么做?

另外,如果不可能,这对我也有用: 每当我点击/悬停在其中一个按钮上时,都会更改DIV的颜色(而不是整个页面背景)。

3 个答案:

答案 0 :(得分:1)

在CSS表格中有3种不同的身体类别:

body.class1 {
background: ...;
}

body.class2 {
background: ...;
}

body.class3 {
background: ...;
}

使用jQuery动态更改body类

$("#btn1").click(function() {
 $('body').removeClass();
 $('body').addClass('class1');
});

$("#btn2").click(function() {
 $('body').removeClass();
 $('body').addClass('class2');
});

$("#btn3").click(function() {
 $('body').removeClass();
 $('body').addClass('class3');
});

然后最终在每个按钮中放入一个id给jQuery在DOM中找到它:

<a id="btn1">bg1</a>
<a id="btn2">bg2</a>
<a id="btn3">bg3</a>

答案 1 :(得分:1)

只使用javascript就可以做到这样的事情

function changeBg(color) {
    var color = '#' + color;
    document.body.style.background = color;
}

http://jsfiddle.net/62SXu/

您也可以更改此选项以将路径传递给您的图像

答案 2 :(得分:0)

必须用CSS完成吗?使用jQuery似乎有很多简单的方法。这样的事情会起作用:

<style>
.button1 {background:url(url to PIC);}
</style>
$(document).ready(function (){
$(".onClick").click(function (){
var ID = $(this).attr("id");
$(body).removeClass();
$(body).addClass(ID);
})
})
<div class = "onClick" id="button1"> ... </div>
<div class = "onClick" id="button2"> ... </div>
<div class = "onClick" id="button3"> ... </div>