2012-12-11 69 views
1

我是新来的jquery,我不太了解它,但我需要它,因为我正在构建一个模板...这是情况,我有一个div,我想滑入页面(从外,顶部)当我点击链接,当我点击其他地方在页面上滑出......这是我有:如何停止onclick jquery animate?

var tmpl_name = '<?php echo $this->template ?>'; 
jQuery(document).ready(function() { 

    jQuery('#link').click(function() { 
    var topy = jQuery('#div'); 
     topy.delay(0).animate({ 
     top: parseInt(topy.css('top')) == 0 ? -topy.outerWidth() : 10 
    },500, 'easeInOutCirc', function() {jQuery(this);}); 
    }); 

}); 

...它工作得很好,当我点击到友情链接DIV幻灯片,但我不知道如何实现,当我点击其他地方页上滑出DIV,我尝试添加:

jQuery('body').click(function() { 
    var topy = jQuery('#div'); 
     topy.delay(0).animate({ 
     top: parseInt(topy.css('top')) == 0 ? -topy.outerWidth() : -500 
    },1000, 'easeInOutCirc', function() {jQuery(this);}); 
    }); 

...但问题时,我点击链接在d中滑动iv,div进出页面(可能因为链接也在body中,代码的第二部分也会影响它。

感谢您的时间...最好的问候

回答

0

.stop()功能可以在您的呼叫开始在年底链接以及停止任何动画。

$("#element").stop().bounce().stop();

2

尝试:

jQuery(document).ready(function() { 

    jQuery('#link').click(function(e) { 
    e.preventDefault(); 
    var topy = jQuery('#div'); 
     topy.delay(0).animate({ 
     top: parseInt(topy.css('top')) == 0 ? -topy.outerWidth() : 10 
    },500, 'easeInOutCirc', function() {jQuery(this);}); 
    }); 

}); 

杀事件传播到文档对象

相关问题