0
我正試圖在div上實現animate函數,當鼠標懸停在它上面時文本會稍微展開,然後在鼠標離開時恢復到其原始大小。jQuery Animate函數無法正常工作
現在用我的代碼,每當我將鼠標懸停在它上面,它就會不斷收縮成一個小矩形。我在做什麼不正確?
<script>
$(function() {
var container = $('div.slider').css('overflow', 'hidden').children('ul'),
slider = new Slider(container, $('#slider-nav'));
slider.nav.find('button').on('click', function() {
slider.setCurrent($(this).data('dir'));
slider.transition();
});
})();
</script>
<script type="text/javascript">
(function() {
//var dd = $('dd');
//dd.hide();
$('dd').filter(':nth-child(n+4)').hide();
$('dl').on('click', 'dt', function() {
$(this)
.next().hide()
.slideDown(200)
//.show()
.siblings('dd')
.slideUp(200);
//.hide();
//$(this).next().show();
});
})();
</script>
<script type="text/javascript">
$(function() {
$('#admission').on('mouseenter', function() {
$(this).animate({ 'fontSize': '+=2', 'height': '+=25', 'width': '+=20' }, 'swing')
});
$('#admission').on('mouseleave', function() {
$(this).stop().animate({ 'fontSize': '-=2', 'height': '-=25', 'width': '-=20' }, 'swing')
});
});
</script>
最後的<script>.... ('#admission')..
代碼是與問題的代碼。
它在當天早些時候也在爲我工作,但不知道爲什麼它決定對我瘋狂。 – StraightUp
我可以問你爲什麼使用jQuery來做這樣的事情嗎?你可以在CSS中使用簡單的':hover'屬性來實現。 – junkfoodjunkie
我認爲問題是'.stop()'。如果您在前一個動畫完成前懸停多次,則會停止中間的上一個動畫,然後下一個動畫將從當前大小*開始*。如果你動畫到一個特定的大小,而不是使用'+ = 2'和' - = 2'來修復它,因爲那麼未來的動畫將無法繼續建立在過去的動畫上。或者使用'.stop(true,true)'進入和離開,雖然[有點生澀](https://jsfiddle.net/Larw3rc7/1/)。 – nnnnnn