我的熔岩灯导航遇到了一个奇怪的问题。它是根据 Jeffrey Way 的熔岩灯教程改编的。熔岩灯的代码在底部。问题主要出现在 firefox(我使用的是 FF6)中,但偶尔也会出现在 Chrome 和 Safari(但不是 IE9)中:加载页面时,菜单项上方的橙色线有时太长且向右太多。当我将鼠标悬停在该项目上时,它会以它为中心并从一开始就保持原样。任何想法为什么会发生这种情况?position().left 和 outerWidth() 有什么奇怪的地方吗?反馈非常感谢!
(function($) {
$.fn.spasticNav = function(options) {
options = $.extend({
speed: 500,
reset: 1500,
color: '#F29400',
easing: 'easeOutExpo'
}, options);
return this.each(function() {
var nav = $(this),
currentPageItem = $('#active', nav),
stroke,
reset;
$('<li id="stroke"></li>').css({
width: currentPageItem.outerWidth(),
height: 4,
margin: 0,
left: currentPageItem.position().left,
top: currentPageItem.position().top,
backgroundColor: options.color
}).appendTo(this);
stroke = $('#stroke', nav);
$('a:not(#stroke)', nav).hover(function() {
// mouse over
clearTimeout(reset);
stroke.animate(
{
left : $(this).position().left,
width : $(this).width()
},
{
duration : options.speed,
easing : options.easing,
queue : false
}
);
}, function() {
// mouse out
reset = setTimeout(function() {
stroke.animate({
width : currentPageItem.outerWidth(),
left : currentPageItem.position().left
}, options.speed)
}, options.reset);
});
});
};
})(jQuery);