您可以使用 jQuerypromise
和always
. 这比动画回调更好(如果您已经在最终位置,则不会触发)
JSFiddle http://jsfiddle.net/fb6yuf9k/1/
例如
var $root = $('html, body');
$('.calendar a').click(function () {
var $target = $($.attr(this, 'href'));
$root.animate({
scrollTop: $target.offset().top
}, 500).promise().always(function(){
$target.toggle();
});
return false;
});
对于评论中提供的特定网站,您希望toggle-content
在目标元素下方切换元素:
例如
var $root = $('html, body');
$('.calendar a').click(function () {
var $target = $($.attr(this, 'href'));
$root.animate({
scrollTop: $target.offset().top
}, 500).promise().always(function(){
$target.find('.toggle-content').toggle(); // or toggleClass etc
});
return false;
});