jquery背景变化

发布于 2024-11-30 03:16:34 字数 1371 浏览 2 评论 0原文

考虑以下情况。我有 2 种类型的背景: 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;
            });
        });

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

Consider the following situation. I've 2 types of backgrounds: 1.Photoshop gradients for which I use CSS markup like:

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

2.Background patterns for which the markup is as follows

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

The following Jquery is responsible for the background change:

$(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;
            });
        });

If I select pattern type background and then gradient/color type background the background color couldn't be initialised.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

神回复 2024-12-07 03:16:34

您应该在 html 上使用一个类并切换它,而不是在 JS 中处理 background CSS 值。

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

Rather than juggle background CSS values in JS, you should use a class on html and toggle that.

html { background-image:url('paper.gif'); }
html.alt { background:#000 url('imgs/gradient.png') repeat-x; }
歌枕肩 2024-12-07 03:16:34

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

Maybe you need to clear the background attribute since it may be leaving both background, background-image, and background-color all at once?

日裸衫吸 2024-12-07 03:16:34

我认为背景样式应该在 body 上,而不是在 html

I think that the background style should be on body and not on the html

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文