设置.css()多个属性不起作用

时间:2013-06-14 17:16:12

标签: jquery css3

我试图通过更改div背景图像属性来放大图像的一部分。我不确定这是否是正确的方法,但到目前为止它的工作原理!唯一的问题是通过.css()传递多个属性。当我单独调用它们但不是不在一起时,属性工作!你能否告诉我为什么这段代码不起作用?

$(document).ready(function () {
    $(".zoom").click(function () {
        $('.gal').css({
            background-size: "200% 200%",
            background-position: "center"
        });
    });
});

创建Google地图样式图片是否有更好的想法放大? Thansk

1 个答案:

答案 0 :(得分:4)

更改

$('.gal').css({
  background-size: "200% 200%",
  background-position : "center"
});

到DOM属性表示法:

$('.gal').css({
  backgroundSize: "200% 200%",
  backgroundPosition : "center"
});

或在CSS属性名称周围添加引号:

$('.gal').css({
  'background-size': "200% 200%",
  'background-position' : "center"
});

请参阅documentation

  

此外,jQuery可以同样解释CSS和DOM格式   多字属性。例如,jQuery理解并返回   .css的正确值({'background-color':'#if',   'border-left':'5px solid #ccc'})和.css({backgroundColor:'#if',   borderLeft:'5px solid #ccc'})。请注意,使用DOM表示法,   属性名称周围的引号是可选的,但是使用CSS   由于名称中的连字符,它们是必需的。