在网站上使用 Magic Line,它可以在主页上完美运行。添加了另一个页面,魔术线不再起作用。开发检查中显示的错误是:
未捕获的类型错误:无法读取未定义的属性“左侧”。
该网站是一个带有 Divi 儿童主题的 wordpress 网站。javascript 文件已在子主题functions.php
文件中排队。
Javascript是:
$(document).ready(function() {
var $el, leftPos, newWidth, ratio, origLeft, origRatio,
origWidth = 100,
$mainNav = $("#nav");
$mainNav.append("<li id='magic-line'></li>");
var $magicLine = $("#magic-line");
origLeft = $(".current_page_item a").position().left;
newWidth = $(".current_page_item").width();
origRatio = newWidth / $magicLine.width();
$magicLine
.css("transform", "translateX("+origLeft+"px) scaleX("+origRatio+")");
$("li").not("#magic-line").hover(function() {
$el = $(this).find("> a");
leftPos = $el.position().left;
newWidth = $el.parent().width();
ratio = newWidth / origWidth;
$magicLine
.css("transform", "translateX("+leftPos+"px) scaleX("+ratio+")");
}, function() {
$magicLine
.css("transform", "translateX("+origLeft+"px) scaleX("+origRatio+")");
});});
html是:
<div id="navContainer">
<a href="#">
<div id="logo" class="hvr-bounce-in">
<img id="mamboLogo" src="mamboLogo.png">
<div class="logoText">
<h1 class="title">Mambo Media</h1>
<p class="tagLine">Film and Animation</p>
</div>
</div>
</a>
<div class="nav-wrap">
<ul class="group" id="nav">
<li class="nav-item current_page_item"><a href="#" class="nav-link">Home</a></li>
<li class="nav-item"><a href="#" class="nav-link">Work</a></li>
<li class="nav-item"><a href="#" class="nav-link">Team</a></li>
<li class="nav-item"><a href="#" class="nav-link">Contact</a></li>
</ul>
</div>
任何帮助都会很棒。