在下面的代码中,部分工作正常,但是当部分被触发.mouseover()
时会发生一些有趣的事情。.mouseleave()
一方面,不透明度'.step_details'
不会重置。我尝试同时使用这两种方法.animate()
并将.css()
不透明度重置为 0,但没有成功。关于为什么会这样的任何想法?
$('.step').mouseover(function() {
$(this).css({'border': 'solid #CCC 1px', 'background-color': '#FFF'})
.animate({'margin-top': '0', height: '300px'}, 500);
$(this).children('.step_details').css('display', 'block')
.animate({opacity: 1},700);
})
$('.step').mouseleave(function() {
$(this).css({'border': 'none', 'background-color': 'inherit'})
.animate({'margin-top': '150px', height: '150px'}, 200);
$(this).children('.step_details').css({'display': 'none', 'opacity': 0});
})
此外,在重置边框/背景与重置顶部边距和高度的动画开始之间存在不一致的延迟'.step'
。这似乎暗示不透明度问题可能只是我滥用.mouseleave()
事件触发器的症状。我究竟做错了什么?我应该这样做有更好的方法吗?
谢谢阅读!