これが私の設定です:
動的包含を使用するモジュラーサイトがあります。ヘッダーはメインページで必要です。メインページは、サイト上の特定のリンクからのコンテンツのレンダリングのみを担当します。したがって、CSSおよびjsファイルへの外部リンクはメインページの先頭にあり、コンテンツページはメインページ内のコンテンツとして含まれるように設計された(php)ドキュメントフラグメントです。
クライアント側では、Javascriptを使用してメニューを動的に機能させたいと思います。私はすでにCSSを使用して、、、および疑似クラスのスタイルを:hover
設定:active
しています:visited
。アクティブボタンと非アクティブボタンの両方に関連する2つの別々のクラスを定義しました。私はjsを作成し、リンクのonclickイベントを設定し、スクリプトを外部にリンクしました。
問題
Firebugはスクリプトを検出していますが、リンクをクリックしても関数は起動しません。
コード
インライン関数呼び出しを含むHTMLメニュー要素:
<ul>
<li class="navLnk"><a href="mylinks.php" tabindex="2" accesskey="2" onclick"asgnActv(this)">BANDS</a></li>
<li class="navLnk"><a href="mylinks.php" tabindex="3" accesskey="3" onclick"asgnActv(this)">RELEASES</a></li>
</ul>
Javascript関数:
function asgnActv(e){
if (e.className == 'navLnk') {
$lnkArr = document.getElementsByClassName('actvLnk');
for (i=0; i<$linkArr.length; i++) {
$linkArr[i].className = 'navLnk';
}
e.className = 'actvLnk';
}
}
メインのphpページの先頭にある外部jsリンク:
<script type="text/javascript" src="script.js"></script>