我想知道是否有人可以帮助我使用 jQuery MagicLine Navigation (http://css-tricks.com/jquery-magicline-navigation/) 解决这个问题
似乎是当页面加载时 li id="magic-line" 似乎总是比“主页”链接上的 10 px 大。当您将鼠标悬停在主页链接上时,该行会将大小缩小到应有的大小。
导航位于http://www.jonasbabrauskas.com/jncustoms
在 html 中,当鼠标悬停在顶部时,它似乎从 77px 的宽度移动到 58px 的宽度。当鼠标没有悬停在它上面时,有没有人可以解决我如何让它成为正确的大小?所有其他链接似乎都可以正常工作。我也尝试过使用 LavaLamp 插件并遇到同样的问题。我不知道是不是因为我用于导航的@font-face。
这是我的代码。谢谢你。
jQuery
$(function() {
var $el, leftPos, newWidth;
$mainNav2 = $("#example-two");
/*
EXAMPLE ONE
*/
/* Add Magic Line markup via JavaScript, because it ain't gonna work without */
$("#example-one").append("<li id='magic-line'></li>");
/* Cache it */
var $magicLine = $("#magic-line");
$magicLine
.width($(".current_page_item").width())
.css("left", $(".current_page_item a").position().left)
.data("origLeft", $magicLine.position().left)
.data("origWidth", $magicLine.width());
$("#example-one li").find("a").hover(function() {
$el = $(this);
leftPos = $el.position().left;
newWidth = $el.parent().width();
$magicLine.stop().animate({
left: leftPos,
width: newWidth
});
}, function() {
$magicLine.stop().animate({
left: $magicLine.data("origLeft"),
width: $magicLine.data("origWidth")
});
});
});
HTML
<ul class="group" id="example-one">
<li class="current_page_item">
<a href="#">Home</a>
</li>
<li><a href="#">Buy Tickets</a></li>
<li><a href="#">Group Sales</a></li>
<li><a href="#">Reviews</a></li>
<li><a href="#">The Show</a></li>
</ul>
CSS
#example-one {
margin: 0 auto;
list-style: none;
position: relative;
width: 500px;
}
#example-one li {
display: inline-block;
}
#example-one a {
float: left;
padding: 6px 10px 4px 10px;
}
#example-one a:hover {
color: #000;
}
#magic-line {
position: absolute;
bottom: -2px;
left: 0;
width: 100px;
height: 2px;
background: #000;
}
.current_page_item a {
color: #000 !important;
}
.ie6 #example-one li, .ie7 #example-one li {
display: inline;
}
.ie6 #magic-line {
bottom: -3px;
}