jQuery无法更改CSS3 box-shadow值吗?

时间:2011-11-20 22:26:17

标签: jquery css css3

背景

我想使用一对函数来动画一些导航按钮。基本上,我希望这些按钮看起来像按钮一样< - >它们启用了盒子阴影。当用户点击它们时,它们会压下 - 我可以通过消除或减少框阴影来显示。

我很确定这些功能是合理的,并且地图格式正确。但是jQuery似乎并没有改变盒子阴影值。我测试了,可以更改字体颜色和背景颜色,甚至是另一个CSS3属性,border-radius:

$(document).ready(function(){
    $('div#forward,div#back').mousedown(function(){
        $(this).css({
            'color' : 'black',
            'background' : 'white',
            'border-radius' : '15px',
            'box-shadow' : '0px 0px 0px #444',
            '-moz-box-shadow' : '0px 0px 0px #444',
            '-webkit-boxshadow' : '0px 0px 0px #444',
        });
    });
    $('div#forward,div#back').mouseup(function(){
        $(this).css({
            'color':'white',
            'background':'#808080',
            'border-radius' : '5px',
            'box-shadow' : '1px 3px 6px #444',
            '-moz-box-shadow' : '1px 3px 6px #444',
            '-webkit-box-shadow' : '1px 3px 6px #444',
        });
    });
});

问题

  • 我的剧本有什么问题吗?

  • 如果没有,有没有办法让jQuery(或者只是JavaScript)来操纵盒子阴影?

3 个答案:

答案 0 :(得分:21)

只是为这个问题添加一些新鲜感:
从jQuery 1.8+开始,您只需使用(crossbrowser)

即可
.css({ boxShadow: '1px 3px 6px #444' })

不添加 -browserVendor特定前缀

答案 1 :(得分:10)

其中一个字符串文字缺少短划线。在第一个'-webkit-boxshadow'来电中将'-webkit-box-shadow'更改为.css()

答案 2 :(得分:3)

如果你想使用,你可以像这样绑定

$('#txtApproxFare').css('border-color', 'red')
$('#txtApproxFare').css('box-shadow', '1px red')

你也可以单行使用,你可以附加

$('#txtApproxFare').css({'border-color':'red','box-shadow':'0px 0px 1px red'})