我从 CSSTRICKS 获得了一段代码,即魔术线导航,它将在我的菜单项下放置一条线,并在我悬停的项目上移动。我希望它是这样的,当我单击菜单时,该行将停留在该菜单项上,而不是像往常一样回到第一个。
该脚本使用类选择器来告诉默认情况下该行应该去哪里。有了这个,我用jQuery做了一个toggleClass,它将类传递给单击的菜单项,但它没有更新。我必须重新加载页面才能更新。而且,它再次卡在同一位置。我希望有人知道如何做到这一点。这是我的代码:
$(window).bind("load", function () {
var $el, leftPos, newWidth;
$mainNav2 = $("#example-two");
/*
EXAMPLE ONE
*/
/* Add Magic Line markup via JavaScript, because it ain't gonna work without */
$("#line-menu").append("<li id='magic-line'></li>");
/* Cache it */
var $magicLine = $("#magic-line");
$magicLine.width($(".current_page_item").width())
.css("left", $(".active a").position().left)
.data("origLeft", $magicLine.position().left)
.data("origWidth", $magicLine.width());
$("#line-menu 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")
});
});
});