0

我试图<li>通过使用 jquery 在我的菜单中的元素上添加一个简单的类/ID。

但是,当我单击菜单选项时,jquery 成功添加了我的类/ID,但我的站点当然会更新,因为它重定向到选择的站点。

我最终得到的结果是,我的班级/ID 因为这次更新而被删除了。

我怎样才能绕过这个,所以我的类/ID 停留在选定的菜单<li>元素上。

我的代码如下所示:

 $(document).ready(function()  
 {  
    $('li').click(function()  
    {  
       $(this).addClass('selected');  
    });  
 });

这是网站: http: //insatsplutonen.xedge.nu/ 通过菜单选项单击自己。如果您单击 ex: Blogg,则所选的类将被添加到<li>元素上,但会因页面加载而消失...

事情是我希望选定的菜单选项变成白色,而其他选项保持灰色:)

亲切的问候/哈里斯

4

3 回答 3

2

It seems like you are loading the page based on the query string. When I select "Blogg", I get http://insatsplutonen.xedge.nu/?Blogg

When you load the page and check your query string and find a menu variable there, set a variable to the menu item value, and use it to set the class for the menu item accordingly. Ex. for Blogg item:

<li <?php echo ($queryStrVal == 'Blogg') ? 'class="selected"' : ''; ?>>
于 2012-11-26T18:32:07.633 回答
1

如果我理解您的要求,解决此问题的一种方法是设置一个页面类,例如在正文上,您可以使用该类来识别当前“选择”了哪个菜单选项。所以是这样的:

<body class="home">
    <ul>
        <li id="homeNav"></li>
        <li id="aboutNav"></li>
        <li id="contactNav"></li>
    </ul>
</body>

那么你的CSS看起来像这样:

.home #homeNav,
.about #aboutNav,
.contact #contactNav {
    // whatever styles represent "selected" here
}

这样,“选定”导航项始终在它所代表的页面上显示为选定状态。

于 2012-11-26T18:13:49.013 回答
0

要在 jQuery 中做,找到<a>窗口位置的 href 并给出它的父类,也就是li那个类。一旦他们到达他们想要的页面就会发生这种情况,而不是当他们点击链接时,所以即使在浏览器中粘贴 URL 也会添加.selected到正确的li

var urlend= window.location.href.replace(window.location.origin + window.location.pathname, '');
$('a[href="' + urlend + '"]').parent().addClass("selected");
于 2012-11-26T18:17:06.877 回答