所以我试图放在一起的导航栏,我一直在使用PHP,因为我不熟悉Javascript。我想创建一个函数,它将返回当前页面的文件名,然后适当地应用css类。这个PHP函数的Javascript等效
PHP代码
function setNav($section)
{
$curSection = end(explode('/', $_SERVER['SCRIPT_NAME']));
if ($section == $curSection)
{
echo ' class="active" ';
}
}
然后,我只想初始化它在html如下
<a href="abc.def" <?php setNav('index.php'); ?> >Home </a>
出于显而易见的原因,我宁愿做在JavaScript或jQuery的,但我在汇总功能方面有些麻烦。我已经看了几个教程,但是他们忽略了一些东西。
如何只拉文件名的最后部分。我见过一对夫妇的想法做这样的事情:
<script type="text/javascript"> var url = document.location.href; url = url.substring(0, (url.indexOf("#") == -1) ? url.length : url.indexOf("#")); url = url.substring(0, (url.indexOf("?") == -1) ? url.length : url.indexOf("?")); url = url.substring(url.lastIndexOf("/") + 1, url.length); alert(url); </script>
但后来我遇到问题2.我也了解子的作品,但我不知道他在做什么瓦特/例如第二个参数“(网址.indexOf(“#”)== -1)? url.length:url.indexOf(“#”)'我搜索谷歌,w3schools和一些地方的解释,也研究了substring()的高级用法,并没有出现。任何指导表示赞赏。
如果说文件是索引,url看起来像localhost/abc_corp /这样做一个document.URL调用带来了“本地主机/ abc_corp /”和离开了index.php部分。
任何帮助提前感谢。
*“由于显而易见的原因,我宁愿做在JavaScript或jQuery的” *其实不是很明显。如果这是一个静态特性(即该属性是在请求页面时设置的并且不会改变),并且您已经在页面上使用PHP,则应该将其保留在PHP中。这种方式适用于所有用户,即使是关闭了JavaScript的用户,您也不必担心跨浏览器的兼容性(除了CSS)。 –
我对泛化术语表示歉意,我的意思是说,无负载交互通常比没有的交互更好。 – Brodie