【问题标题】:Changing brightness filter更改亮度滤镜
【发布时间】:2014-07-30 17:43:36
【问题描述】:

我正在尝试使用 jQuery 更改页面上某些图像的亮度滤镜 css 属性,但我在控制台中收到以下错误:“解析 'filter' 的值时出错。声明已删除。”

这是我正在使用的代码:

function changeBrightness() {
     $("#myImg").css({
     "filter"         : "brightness(50%)",
     "-webkit-filter" : "brightness(50%)",
     "-moz-filter"    : "brightness(50%)",
     "-o-filter"      : "brightness(50%)",
     "-ms-filter"     : "brightness(50%)"
     });
}

我也尝试了上述其他格式,只是想看看它是否可以工作,但它们会产生相同的错误:

function changeBrightness() {
     var brightness = "brightness(50%)";
     $("#myImg")
        .css("filter",brightness)
        .css("webkitFilter",brightness)
        .css("mozFilter",brightness)
        .css("oFilter",brightness)
        .css("msFilter",brightness);
}

我也尝试了这种通用格式,希望 jQuery 能够处理前缀:

function changeBrightness() {
     $("#myImg").css("filter", "brightness(50%)");
}

当我单击按钮时会调用 changeBrightness 函数,它应该将 ID 为“myImg”的图像的亮度更改为 50%。我正在使用 Firefox 24.7。 CSS3 的 filter 属性是否在 firefox(或任何其他浏览器)中不起作用?

【问题讨论】:

标签: javascript jquery html css


【解决方案1】:

CSS3 的过滤器属性是否在 firefox(或任何其他浏览器)中不起作用?

Here is the answer from MDN:

这是一项实验性技术

由于该技术的规范尚未稳定,请检查compatibility table 以获取在各种浏览器中使用的正确前缀。另请注意,实验技术的语法和行为可能会随着规范的变化在未来版本的浏览器中发生变化。

【讨论】:

    【解决方案2】:

    Firefox 不全球支持它。

    查看caniuse.com/#search=filter

    顺便说一句,caniuse.com 是检查此类内容的绝佳资源。

    【讨论】:

    • 但 Firefox 确实部分支持 url() 形式的 filter
    • @showdev 部分支持有点误导,考虑到url() 仅适用于 Firefox 31
    猜你喜欢
    • 2012-11-12
    • 2017-06-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-19
    • 2012-12-29
    相关资源
    最近更新 更多