我无法让这个下拉菜单动画缓慢甚至任何东西。
$(document).ready(function () {
$('#menu > li').hover(function () { $('ul:first', this).show(); },
function () { $('ul:first', this).hide(); }
);
$('#menu li li').hover(function () {
$('ul:first', this).each(function () {
var p = $(this).parent();
$(this).animate('top', p.position().top)
.animate('left', p.position().left + p.width())
.show();
});},
function () { $('ul:first', this).hide(); }
);
});
答案 0 :(得分:2)
jQuery的animate()
期望CSS属性的对象/“地图”。第二个参数以ms为单位定义动画的持续时间。
您的示例看起来像这样( - 在2000ms内设置top
和left
属性的动画效果:
$(this)
.show()
.stop() // see below
.animate({
'top': p.position().top,
'left': p.position().left + p.width()
}, 2000);
如果您从animate
处理程序中呼叫hover
,您可能也希望stop()
位于{{1}}。
提示:a look是一种简单的方法来解决这个问题。