簡體   English   中英

jQuery動畫在運行時觸發兩次回調

[英]jQuery animation triggers callback twice when run

我正在使用jQuery動畫滾動效果,在動畫結束后,我觸發效果,由於某種原因,效果被觸發兩次,我該如何防止它發生?

$('.something').on('click', function() {
            $('html, body').animate({
                scrollTop: $('footer').offset().top
            }, {
                queue: false,
                duration: 1500,
                complete: function() {
                    $('.foo').toggleClass('active');
                    $('.bar').slideToggle();    
                }
            });                
            return false;
        });

slideToggle效果似乎被觸發了兩次。 我在html和body上設置了動畫,因為來自'body'的動畫在IE8中不起作用。

由於您正在觸發兩個動畫(在html和body上),因此應該調用兩次完整的回調。

您可能希望僅在需要時才在html上觸發動畫

var animateOn = isIE8 ? 'html' : 'body';
$(animateOn).animate();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM