0

我已经完成了使用 jQuery 在正文中执行背景图像更改的几乎所有选项,并且一遍又一遍地遇到同样的事情。背景图像在那里闪烁并消失。
在代码中,我包含了一些 javascript 警报以暂停页面,并且背景图像已启动并且在警报被触发时看起来很棒,但是在我单击确定按钮以通过警报后,图像消失了。我最初使用警报来确保我得到正确的值。有谁知道为什么背景图像不会“粘”?我当前的代码如下 - 我已经尝试过在网上找到许多不同的代码块,但仍然无法更改 bg 图像。非常感谢!

var bg1 = "url(/images/bg1.jpg)";
var bg2 = "url(/images/bg2.jpg)";
var bg3 = "url(/images/bg3.jpg)";

$("nav a").click(function () {
    var id = $(this).attr("id");
    //alert(id);

    switch (id) {
        case "home":
            $('body').css({ backgroundImage: bg1 });
            //alert("case - home");
            break;
        case "about":
            $('body').css({ backgroundImage: bg2 });
            //alert("case - about");
            break;
        default:
            $('body').css({ backgroundImage: bg3 });
            break;
    }
});
4

1 回答 1

0

假设您在其他地方没有错误,问题出在您的 CSS 属性上,它应该被引用为字符串:

var bg1 = "url(/images/bg1.jpg)";
var bg2 = "url(/images/bg2.jpg)";
var bg3 = "url(/images/bg3.jpg)";

$("nav a").click(function () {
    var id = $(this).attr("id");
    //alert(id);

    switch (id) {
        case "home":
            $('body').css({ "background-image": bg1 });
            //alert("case - home");
            break;
        case "about":
            $('body').css({ "background-image": bg2 });
            //alert("case - about");
            break;
        default:
            $('body').css({ "background-image": bg3 });
            break;
    }
});

我所做的只是更改backgroundImage"background-image".

于 2013-10-28T17:16:28.183 回答