1

单击按钮时,我正在尝试淡出图像,并且在淡出时我正在更改图像的来源。然后我使用淡入淡出来显示新图像。这在 Chrome 和 Firefox 中运行良好。但是在ie10中,图像淡出,淡入,然后出现新的图像。我找不到解决办法。我试图延长淡出淡入的持续时间。我试过使用 setTimeout 函数。我试过使用 promise().done() 函数。我尝试过使用 Jquery UI 的带有幻灯片效果的隐藏/显示,并且出现了同样的问题。似乎没有任何工作。我真的很感激任何帮助。谢谢

me.$el.find('#printable-detail-static-imageRight').fadeOut('fast', function(){
                            me.$el.find('#printable-detail-static-imageRight').attr('src', me.options.samplePrints[k+i]);
                            me.disableNext();
                        });

                        me.$el.find('#printable-detail-static-imageRight').fadeIn('slow')
4

3 回答 3

1

我在mac上,但是这段代码在ie中有效吗?jsFiddle

.html

<div id="content">Promises</div>
<button id="click">start animation</button>

.js

$("#click").on("click", function () {
    $('#content').fadeOut({
        duration: 1000,
        // run when the animation is complete
        complete: function () {
            $("#content").append($("<div>").addClass("fakeimg"));
        },
        // run when the animation is complete + 
        //it's promise is resolved
        done: function () {
            $('#content').fadeIn(1000);
        }
    });
});
于 2013-07-04T08:48:09.287 回答
1

我很确定您需要将该.fadeIn方法放在回调函数中,以便它受到回调函数的影响。事实上,我会在该.attr方法中添加另一个回调函数,以确保它仅在src更改后才淡入。

这是我写的一个 jsFiddle 来说明我的意思。

于 2013-07-04T01:43:05.673 回答
0

这有效:

 me.$el.find('#printable-detail-static-imageRight').animate({
                        opacity:0
                    }, {
                        duration: 700,
                        step: function(now, fx){
                            if(fx.pos > 0.40 && fx.pos < 0.5){
                                $(this).attr('src', me.options.samplePrints[k+i]);
                                me.disableNext();
                            }
                            if (fx.pos ==1) {
                                $(this).animate({
                                    opacity:1
                                }, 200);
                            }
                        }
                    });
于 2013-07-05T17:09:58.800 回答