2010-09-08 41 views
4

我有一个漂亮的网站导航标准。主导航是ul,有几个嵌套的ul。我基本上只是想在用户已经在该页面上时动态禁用链接。禁用链接到导航中的当前页面

因此,如果我在主页上,主页链接需要被禁用。如果我在联系人页面上,则需要禁用联系页面链接。

我不想完全删除链接,只需从锚点中删除href或者只是让锚点本身停用。在XHTML,CSS,JavaScript或PHP中,有没有一种快速,精巧和优雅的解决方案。我也想要一个全面友好的解决方案,而不仅仅是现代浏览器(你可以阅读IE 6)。

我的确想过在每个页面上设置一个路径变量,然后为每个链接设置一个if语句,但这看起来非常繁琐和愚蠢。但是,嘿,它会完成工作。

+0

我想说的是关于默认值:让代码生成您的导航检查哪个页面是最新的,并禁用链接到该页面/省略锚标记。您希望如何检查它是您的担心,您甚至可以基本检查'$ _SERVER ['REQUEST_URI']'和结果URL,如果它们匹配,则省略标签。 – Wrikken 2010-09-08 23:02:41

+0

事情是,我没有动态生成导航,所以我想我必须在每个链接周围做一个if语句,然后使用$ _SERVER ['REQUEST_URI']和一个算法的建议来使它正确。 – 2010-09-10 16:30:16

回答

3

我认为最好在页面生成代码(即PHP)中执行此操作,遍历每个链接并删除<a>标记,如果链接符合匹配条件,则用<span>或类似的东西替换它当前页面。 PHP为您提供了当前页面(以各种风格:$_SERVER['REQUEST_URI'],$_SERVER['SCRIPT_FILENAME'],$_SERVER['PHP_SELF'],$_SERVER['QUERY_STRING']等),并使用它们,您可以确定一个算法来匹配您的页面。

+0

事情是,我没有动态生成导航,所以我想我必须在每个链接周围制作一条if语句,然后使用您的$ _SERVER ['REQUEST_URI']建议以及正确的算法。 – 2010-09-10 16:29:53

相关问题