【发布时间】:2015-07-20 23:59:52
【问题描述】:
我尝试了许多建议的 jquery 代码,终于找到了一个几乎可以工作的代码。
但它有一个缺陷 - 单击链接后 - 链接会在一秒钟内未突出显示(只要页面加载),然后变为活动状态。是否可以在页面加载 php/html 之前单击后立即突出显示链接?
由于动画的可能性,找到 jquery 或 javascript 解决方案会很棒吗? 使网站/主页菜单动态化的常用方法是什么?
提前致谢!所有的解释或代码示例都非常棒!
HTML:
<DOCTYPE! html>
<html>
<head>
<title>TESTLEHT</title>
<link rel="stylesheet" href="style.css" type="text/css" >
<script src="http://code.jquery.com/jquery-2.1.4.min.js"></script>
</head>
<body>
<div class="naviwrap"><?php include("includes/menu.php"); ?></div>
<div class="clear"></div>
<div class="content"></div>
<div class"footer"><?php include("includes/footer.php"); ?></div>
<script src="scripts.js" type="text/javascript"></script>
</body>
</html>
包含的菜单文件:
<nav class="menu">
<ul class="clearfix">
<li id="linkone" class="jlist" data-linkid="link1"><a href="index.php">Avaleht</a></li>
<li id="linktwo" class="jlist" class="current-item" data-linkid="link2"><a href="meist.php">Meist</a></li>
<li id="linkthree" class="jlist" data-linkid="ink3"><a href="tooted.php">Tooted</a></li>
<li id="linkfour" class="jlist" data-linkid="link4"><a href="galerii.php">Galerii</a></li>
<li id="linkfive" class="jlist" data-linkid="link5"><a href="kontakt.php">Kontakt</a></li>
</ul>
</nav>
CSS: .menu 一个 { 过渡:全线性0.30s; 颜色:#ABAB; 字体大小:16px; 文字装饰:无; }
.menu li:hover > a, .menu .current-item > a {
text-decoration: none;
color: red;
}
.menu li:active > a, .menu .current-item > a {
color: red;
}
.menu > ul > li {
float: left;
display: inline-block;
position: relative;
font-size: 105%;
}
.menu > ul > li > a {
padding: 15px 45px;
margin-top: 15px;
}
.menu > ul > li:hover > a, .menu > ul > .current-item > a {
color: #282828;
}
当前的 jquery 代码,几乎可以运行:
$(function () {
var str = location.href.toLowerCase();
$('nav ul li a').each(function () {
if (str.indexOf(this.href.toLowerCase()) > -1) {
$('a.current-item').removeClass('current-item');
$(this).parent().addClass('current-item');
}
});
});
【问题讨论】:
-
尝试将您的 jquery 代码放入
$(document).ready();