【问题标题】:JS Wait for .CSS to finish [duplicate]JS等待.CSS完成[重复]
【发布时间】:2015-11-19 06:05:51
【问题描述】:

我有一些简单的 JS 可以根据单击的菜单元素更改背景图像。我是 JS 新手,所以我为我的重复代码道歉。当前代码有效,但如果快速连续单击菜单项,则背景更改动画会取消并跳转到没有动画的下一个图像。我尝试设置超时功能并设置转换计时器,但没有运气。有没有办法让动画保持流畅?下面是我的js的一部分,我不会把它全部放出来,因为它本质上是一样的。

      var counter = 1;

    $(document).ready(function(){
        $(".home-bg").click(function(){
            counter = 1;
            if(counter == 1){
                $(".container").css("background-image", "url(images/1-1.jpg)"); 
                $(".container").css("-webkit-transition", "background 1000ms ease-in-out");
                $(".container").css("-moz-transition", "background 1000ms ease-in-out");
                $(".container").css("-o-transition", "background 1000ms ease-in-out");
                $(".container").css("-ms-transition", "background 1000ms ease-in-out");
                $(".container").css("transition", "background 1000ms ease-in-out");
            }
        });

        $(".service-bg").click(function(){
            counter = 2;
            if(counter == 2){
                $(".container").css("background-image", "url(images/2.jpg)");
                $(".container").css("-webkit-transition", "background 1000ms ease-in-out");
                $(".container").css("-moz-transition", "background 1000ms ease-in-out");
                $(".container").css("-o-transition", "background 1000ms ease-in-out");
                $(".container").css("-ms-transition", "background 1000ms ease-in-out");
                $(".container").css("transition", "background 1000ms ease-in-out"); 
            }
        });
});

【问题讨论】:

    标签: javascript jquery css animation


    【解决方案1】:

    你需要使用事件:

    element.addEventListener( 'webkitTransitionEnd', 
        function( event ) { alert( "Finished transition!" ); }, false );
    

    【讨论】:

    • 感谢您的快速回复!我以前从未使用过事件监听器,如何将它合并到我当前的 js 中?
    • @Tyharo 动画或过渡结束时会发生什么?
    • 当动画结束时,背景会淡化成新的图像。在动画完成之前单击菜单项时,动画会取消,但背景仍然会发生变化。
    • 您不能使用animatetransition 背景图片。
    • 你说得对,目前只有 Chrome 支持背景图像过渡。 FF 和 IE 没有。
    猜你喜欢
    • 2019-03-17
    • 2017-12-17
    • 2015-04-01
    • 1970-01-01
    • 2018-07-25
    • 2013-04-03
    • 2019-02-01
    • 2020-01-12
    • 1970-01-01
    相关资源
    最近更新 更多