需要使用.css()Jquery函数应用这些样式,需要帮助

时间:2011-03-09 23:54:29

标签: jquery css background

这是我需要的风格

body{
      background: url("img/Background_Home.jpg") no-repeat center center fixed;
                        -webkit-background-size: cover;
                        -moz-background-size: cover;
                        -o-background-size: cover;
                        background-size: cover;


      margin:0;
    }

这是我的去..

 function actualizar_fondo(imagen){
            $('body').css({"background":"url(img/"+imagen+".jpg)"});
            $('body').css({"background":"no-repeat center center fixed"});
            $('body').css({"-webkit-background-size":"cover"});
            $('body').css({"-moz-background-size":"cover"});
            $('body').css({"-o-background-size":"cover"});
            $('body').css({"background-size":"cover"});



       }

结果:甚至没有背景图片(但只有第一行,有效)

我猜......问题在第二行?

5 个答案:

答案 0 :(得分:5)

第二行覆盖第一行的结果。两者都可以合并。

function actualizar_fondo(imagen){
        $('body').css({"background":"url(img/"+imagen+".jpg) no-repeat center center fixed"});
        $('body').css({"-webkit-background-size":"cover"});
        $('body').css({"-moz-background-size":"cover"});
        $('body').css({"-o-background-size":"cover"});
        $('body').css({"background-size":"cover"});
}

答案 1 :(得分:1)

你有三个答案,你还没有这个吗?

$('body').css({
    "background": "url(img/"+imagen+".jpg) no-repeat center center fixed",
    "-webkit-background-size": "cover",
    "-moz-background-size": "cover",
    "-o-background-size": "cover",
    "background-size": "cover"
});

您确定不能这样做:

.myClass {
    background: url("img/Background_Home.jpg") no-repeat center center fixed;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
}

使用:

$('body').addClass('myClass');

答案 2 :(得分:0)

尝试以下方法:

function actualizar_fondo(imagen){
        $('body').css("background", "url(img/"+imagen+".jpg) no-repeat center center fixed");
        $('body').css("-webkit-background-size","cover");
        $('body').css("-moz-background-size","cover");
        $('body').css("-o-background-size","cover");
        $('body').css("background-size","cover");
}

答案 3 :(得分:0)

你的第二个背景声明覆盖了第一行的结果 - 你需要将它们两者结合起来。我还建议合并所有CSS declarations into a single JSON map

function actualizar_fondo(imagen){
    $('body').css(
       { "background":"url(img/" + imagen + ".jpg) no-repeat center center fixed",
         "-webkit-background-size":"cover",
         "-moz-background-size":"cover",
         "-o-background-size":"cover",
         "background-size":"cover" }
    );
}

答案 4 :(得分:0)

我会尝试使用不同的背景属性:

function actualizar_fondo(imagen){
            $('body').css({"background-image":"url(img/"+imagen+".jpg)",
                           "background-repeat":"no-repeat",
                           "background-position":"center center",
                           "background-attachment":"fixed",
                           "-webkit-background-size":"cover",
                           "-moz-background-size":"cover",
                           "-o-background-size":"cover",
                           "background-size":"cover"});
       }

可能你在'actualizar_fondo'功能的第二行中覆盖了背景。

相关问题