2013-04-13 169 views
0

我希望链接在页面加载时具有不同的风格。例如,如果我点击About Us菜单项并转到页面,我希望它显示为突出显示,让用户知道他们在该页面上使用jQuery。动态CSS类jQuery

我曾尝试下面的代码:

$("#navigation").click(function() 
{ 
    $('li').addClass('current-menu-item'); 
}); 

回答

1

触发“关于我们”以后,你的链接将改变类,但是当页面会加载,所有的JS更改将消失。您需要更改类不是点击,而是onload事件页面,根据您的位置

$(function() { 
    if (window.location == '/about') // change about to what you page on 
     $('#navigation li a[href=/about]').parent().addClass('current-menu-item'); // change here link too 
}); 
0

如果你有一个列表

在你要跟踪你是哪个网页的服务器端。有很多方法可以做到这一点,但一个方法是

<ul> 
    <li data-link="home">Home</li> 
    <li data-link="about">About Us</li> 
    <li data-link="contact>Contact</li> 
</ul> 

,如果使用PHP例如

$(document).ready(function() { 
    var currentPage = "<?= $page ?>"; 
    $('li[data-link='+currentPage+']').addClass('current-menu-item'); 
}); 

处理哪个环节获取类的当前菜单项目“是对要好得多服务器端,但我做了一个简单的例子,使用jQuery。

你想要的东西在页面加载完成的任何时间,你可以把它的$(document)中。就绪 http://api.jquery.com/ready/

编辑

一个快速简便的方法的设置$页面在页面要求本身,以便...

about.php

<?php 
    $page = "about" 
?> 
<html> 
    .... 
</html> 

有很多方法可以做到这一点,所以你只需要有创意。这是编程的美:)

+0

不知道我在哪里犯错,但它不工作...... – faix

+0

在提供每个页面的PHP,你需要指定页面。所以,如果你有一个名为about.php的文件,那就是你的关于页面,你可以设置$ page =“about”,然后执行上述操作。对于home.php $ page =“home” – skukx

+0

我正在使用mysqli_fetch_array从数据库中提取导航栏的链接,我必须指定这个$页面变量...... ???? – faix