2013-02-02 43 views
0

如何跟蹤以下動畫以查看它是否已被應用? 通常我只想設置一個變量爲1或true,而其上,但這種動畫應用到基於類的多個元素..jQuery動畫|防止功能觸發冗餘

function animateDiv(what) { 
    $(what).animate({ backgroundPosition:"0px -250px" 
    },8000).css('background-position','0px -250px'); 

    $(what).animate({ 
     backgroundPosition:"0px 0px" 
    },8000).css('background-position','0px 0px'); 
} 


$(document).on('hover', '.animation-div', function(){ animateDiv(this); }); 
+1

根據元素標記 – Sedz

+0

@Sedz如何做到這一點? – bushdiver

回答

3

一種可能是這樣的:

$(document).on('hover', '.animation-div', function() { 
    if (!$(this).hasData('done')) { 
     $(this).data('done'); 
     animateDiv(this); 
    } 
}); 
+1

就是這樣啊,我忘了數據選項。謝謝=] – bushdiver

0

不知道如果這個答案的問題,但一些,這可能是有益的......

function addAnotherClass($self) { 
    $self.toggleClass('another_class_for_reference'); 
} 

$('.animation-div').hover(
    function() { 
    var $self = $(this); 

    $self.animate({"left": "+=50px"}, "slow"); 
    $self.addClass('active'); 
    addAnotherClass($self); 
    }, 
    function() { 
    var $self = $(this); 

    $self.animate({"left": "-=50px"}, "slow"); 
    $self.removeClass('active'); 
    addAnotherClass($self); 
    } 
); 

http://jsfiddle.net/ndreckshage/RBhAZ/