所以我試圖放在一起的導航欄,我一直在使用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