2014-09-12 51 views
0

我有一个JS功能,找到一个新的元素(到ckeditor文本区域),并突出显示它。效果很好,但是当这种方法被调用两次时,第一个高光效果停止并且不完成。Jquery .effect停止时调用两次

我已经尝试过调用stop(),finish(),但动画仍然保留在以前的动画上 我想没有第一个动画中断,并为它完成它的动画。 任何意见赞赏。

function highlightContent(element){ 
    var newElement = CKEDITOR.instances.offer_body.document.find(element).$[0]; 
    $('html, body').animate({ 
    scrollTop: $("#cke_offer_body").height() 
    }, 1000); 
    $(newElement).effect("highlight", {color:"#29B8BE"}, 1300); 
}; 

$(document).on("click", '#offer-item', function(){ 
    applyTemplate(this); 
    highlightContent(".template-content"); 
}); 
+0

您是否尝试过禁用CKEDITOR(并使textarea的只是一个普通的醇” textarea的),看看是否有可能是某种冲突? – DevlshOne 2014-09-13 09:14:39

+0

我认为这是在前一个完成之前开始的新动画的一个例子。由于某些原因,它不排队下一个动画 – scott 2014-09-13 17:52:15

回答

0

尝试停止功能:

$(newElement).stop(true, false); //clearQueue true and jumpToEnd false 

http://api.jquery.com/stop/

+0

它不是我需要停止的newElement的动画,它的任何以前的元素的动画 – scott 2014-09-12 22:23:05