首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在javascript中着色到Grayscale循环

在javascript中着色到Grayscale循环
EN

Stack Overflow用户
提问于 2014-01-09 14:36:36
回答 1查看 388关注 0票数 0

我遇到了一个问题,当我的页面加载时,它需要从灰度转换为彩色(下面的代码),但是接下来我需要将它转换为灰度,并继续着色。

HTML:

代码语言:javascript
复制
<img src="images/main.jpg" id="mainimg" />

CSS:

代码语言:javascript
复制
#mainimg{
    -webkit-filter: grayscale(100%);
    -moz-filter: grayscale(100%);
    filter: grayscale(100%);
    -webkit-transition : -webkit-filter 3500ms linear;
    -moz-transition : -moz-filter 3500ms linear;
    transition : filter 3500ms linear;
}

JAVASCRIPT:

代码语言:javascript
复制
$(window).load(function() {
        $('#mainimg').on('transitionend', function () {
    $(this).css({
        "webkitFilter" : "none",
        "mozFilter" : "none",
        "filter" : "none"
    });
}).css({
    "webkitFilter" : "grayscale(0%)",
    "mozFilter" : "grayscale(0%)",
    "filter" : "grayscale(0%)"
});

});

另一个问题是IE和Opera没有在进行过渡,这不是主要的问题,因为我现在正在寻找它,但是如果有人能很容易地帮助它,我会很感激。

(我不习惯JQuery,但我正在努力学习它,如果你们认为JQuery会更好的话,把它贴出来)预先谢谢,如果我是‘新手’的话,很抱歉!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-01-09 14:46:34

如果要选择转换路径,我建议使用一个类,而不是尝试手动设置值。

代码语言:javascript
复制
#mainimg{
    -webkit-filter: grayscale(100%);
    -moz-filter: grayscale(100%);
    filter: grayscale(100%);
    -webkit-transition : -webkit-filter 3500ms linear;
    -moz-transition : -moz-filter 3500ms linear;
    transition : filter 3500ms linear;
}

#mainimg.transition {
    -webkit-filter: grayscale(0%);
    -moz-filter: grayscale(0%);
    filter: grayscale(0%);
}

然后通过您最喜欢的方法设置类。

代码语言:javascript
复制
$(window).load(function() {
    $('#mainimg').addClass('transition');
}

如果您希望来回转换,请使用关键帧。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21023126

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档