gpt4 book ai didi

javascript - 导航底部 slider

转载 作者:行者123 更新时间:2023-11-28 08:12:38 24 4
gpt4 key购买 nike

如果光标悬停在导航上方,我希望导航下方的边框始终跟随鼠标光标。

Uncaught TypeError: Cannot read property 'left' of undefined 

JS代码

$(function() {
var $el, leftPos, newWidth,
$mainNav = $(".level_1");

$mainNav.append("<div id='magic-line'></div>");
var $magicLine = $("#magic-line");

$magicLine
.width($(".active").width())
.css("left", $(".active a").position().left)
.data("origLeft", $magicLine.position().left)
.data("origWidth", $magicLine.width());

$(".level_1 li 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")
});
});

$('.level_1 li:not(".active")').hover(
function(){ $('#magic-line').addClass('hover'); },
function(){ $('#magic-line').removeClass('hover'); }
);
});

HTML

<nav class="mod_customnav block" id="top-nav">

<ul class="level_1">
<li class="first"><a href="de/ueber-uns" title="Über uns" class="first">Über uns</a></li>
<li><a href="de/kontakt" title="Kontakt">Kontakt</a></li>
<li class="active"><span class="active">Impressum</span></li>
<li><a href="en/" title="English">English</a></li>
<li><a href="fr/" title="Français">Français</a></li>
<li class="navSearch icon last"><a href="de/suche" title="" class="navSearch icon last">Suche</a></li>
</ul>

</nav>

如果有人能帮助我,那就太好了。

谢谢。

最佳答案

您需要更改此行:

$(".active a").position().left

目前,您的 li 或 span 内没有带有事件类的 anchor ,因此这将是未定义的

尝试

$(".active span").position().left

编辑

您可以检查 active 的长度来解决您的问题:

var active = $(".active");
if (active.length) {
$magicLine
.width(active.width())
.css("left", active.children('span').position().left)
.data("origLeft", $magicLine.position().left)
.data("origWidth", $magicLine.width());
} else {
$magicLine
.width(WIDTH_HERE)
.css("left", LEFT_HERE)
}

关于javascript - 导航底部 slider ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23993964/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com