【问题标题】:Current menu item当前菜单项
【发布时间】:2014-06-17 11:53:23
【问题描述】:

我一直在尝试我在网上找到的每一个教程,但似乎没有一个适合我。

我有这些按钮:

    <a href='faq.php'><div class='button'>
    <div class='button_top'>
    </div>
    <div class='button_bot'>
    FAQ
    </div></a>

http://jsfiddle.net/6G8bk/

如果页面 url 与按钮的 href 相同,我希望按钮的顶部保持突出显示。

请提前回答!

这是我尝试过但仍然无法使用的带有 jquery 的固定 jsfiddle:http://jsfiddle.net/6G8bk/4/

【问题讨论】:

  • 你的意思是href等于当前的url吗?
  • 我见过的最常见的实现方式是给活动选项卡一个“活动”或类似的类名并在 CSS 中处理它:jsfiddle.net/6G8bk/1
  • @Utkanos 我修复了 html
  • @Govind Singh Nagarkoti 是的
  • @Coh3n 我有一个 menu.html 文件可以加载到所有页面中。如果我这样做了,我必须将菜单复制到每个页面,如果我要更改它,我必须更改每个文件。

标签: javascript jquery menu navigation


【解决方案1】:

一些事情:

  1. 在您的 jQuery 中,您尝试选择所有具有 button 父类的 &lt;a&gt; 元素,并且根据您没有的 HTML(button 类是&lt;a&gt; 元素)。

  2. 页面的 URL 在 JSFiddle 中不起作用,因为它将获取 JSFiddle 链接,该链接与您网站上的链接不同。

  3. 由于您希望button_top 在悬停时可见,因此您需要使用 JavaScript。据我所知,您无法使用纯 CSS 操作悬停时的另一个元素。

这是我认为您想要的工作小提琴。我在代码中留下了 cmets 可能会对您有所帮助。

http://jsfiddle.net/6G8bk/6/

【讨论】:

  • 泰!设法使它与您的代码的第一部分一起工作。至于第二个我认为它只是悬停选项?我在 CSS 中得到了悬停。再次感谢!
  • 哦,顺便说一句,也许知道我是否可以添加一些东西,这样主页按钮就可以在没有 link.com/index.php 的情况下工作?所以只需link.com
  • 我相信如果你有一个 index.php 文件,你可以参考 link.com/ 之类的链接。如果 index.php 仍然显示在地址栏中,您可能需要在 index.php 文件中链接一个 HTML 文件,例如:here。如果您查看my personal website,您会发现地址栏中没有显示任何索引页面。
  • 我将所有内容从“/”链接到“index.php”。当我休息完后,我会尝试修复。非常感谢您的帮助!
【解决方案2】:

您可以使用 $_SERVER["SCRIPT_NAME"] 检索当前 url 页面并将其与菜单的每个元素进行比较。

如果匹配,您可以在菜单元素中放置另一个类并使用 CSS 规则来获得您想要的布局。

【讨论】:

  • 我正在使用这个:$(function() { var pgurl = window.location.href.substr(window.location.href .lastIndexOf("/")+1); $(".按钮 a").each(function(){ if($(this).attr("href") == pgurl || $(this).attr("href") == '' ) $(this). addClass("活动"); }) });但如果这有效,那么我无法用我尝试的任何东西来改变 css。喜欢: .button_top .active 什么都试过了。新在这里不知道如何使代码在 cmets 中工作对不起。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-08
  • 1970-01-01
  • 2021-04-07
  • 1970-01-01
  • 1970-01-01
  • 2019-09-19
相关资源
最近更新 更多