jquery背景改变

时间:2011-08-17 18:54:44

标签: jquery css background

考虑以下情况。我有两种类型的背景:1.Photoshop渐变,我使用CSS标记,如:

html{
                background-image: url('imgs/gradient.png');
                background-repeat: repeat-x;
                background-color: #000000;
            }

2.标记如下的背景模式

html{
    background-image:url('paper.gif');
}

以下Jquery负责后台更改:

$(function() {
            $('a').click(function() {
                var currentLink = $(this);
                var which = $(this).attr('id');
                //Color scheme variables(image,color)
                var image = '';
                var color = '';
      //gradient + color background
                if (which == 'a1')
                    {image = "url(backgrounds/pat2.png)";
                    color = "#3a2c33";}
     //pattern type background
                       else if(which == 'a2')
                    {image = "url(backgrounds/pat4.jpg)";
                    color = " ";}
                if(color != " "){
                    $('html').css("background-image", image);
                    $('html').css("background-color", color);
                }
                else{
                    $('html').css("background", image);
                }
            return false;
            });
        });

如果选择图案类型背景,然后选择渐变/颜色类型背景,则无法初始化背景颜色。

3 个答案:

答案 0 :(得分:2)

不要在JS中使用background CSS值,而应该使用html上的类并切换它。

html { background-image:url('paper.gif'); }
html.alt { background:#000 url('imgs/gradient.png') repeat-x; }

答案 1 :(得分:1)

我认为背景样式应位于body而不是html

答案 2 :(得分:1)

也许您需要清除背景属性,因为它可能同时保留背景,背景图像和背景颜色?