我有一个 div,需要在单击按钮时向上/向下动画,并且,如果它已向下动画(或打开),则单击主体时它必须关闭。这工作正常,但是如果我使用主体将其关闭,切换按钮在第一次单击时将不再起作用。我希望有一个简单的解决方案,非常感谢任何帮助,谢谢!
$('#button').toggle(function(event){
event.preventDefault();
$('#box').animate({top: '0'}, 300);
},function(event){
event.preventDefault();
$('#box').animate({top: '-100px'}, 300);
});
$("body").click(function(event) {
if ($(event.target).closest('#box').length === 0) {
$('#box').animate({top: '-100px'}, 300);
}
});
最佳答案
toggle
事件方法已弃用,您可以使用 click
方法代替。使用 click
and 和条件语句可以解决该问题。
$('#button').click(function (event) {
event.preventDefault();
var $box = $('#box'),
val = $box.css('top') === '0px' ? '-100px' : '0px';
$box.stop().animate({
top: val
}, 300);
});
关于Jquery 主体点击停止切换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15507139/