2012-02-11 18 views
0

私はマウスのホバー上でリンクを変更し、クリックすると変更して新しいリンクがクリックされるまで滞在しようとしています。リンクが少し透明起動して推移したときに、私はしかし、それは私が使用していてもアクティブに滞在していませんリンクをクリックすると、それは下の境界または5で完全に不透明になります:現在のリンクは有効ではありません

nav ul li a:active, nav ul li a.current { 
opacity:1; 
border-bottom:5px solid #37DD57; 
position: relative; 
top: 1px; 
} 

は私がやっているものはあり間違っているか、スクリプト機能を呼び出す必要がありますか? http://envycosmetics.zxq.net/Website/webpages/index.html

答えて

0

アクティブリンクは、別のリンクをクリックするか、ウィンドウオブジェクトが破棄されるまで有効です。あなたのリンクは新しいURLでページを再読み込みしています。したがって、ページの読み込み時にあなたのリンクのどれも「アクティブ」ではありません。いくつかのURL検出を使用して、クライアント側またはサーバー側のどちらかの方法でスタイルを設定する必要があります。 、訪問http://envycosmetics.zxq.net/Website/webpages/gallery.html

var _links = ['news','about','gallery'], // etc.. 
    _pagename = null, 
    i   = 0, 
    max  = _links.length; 

for(; i<max; i++) { 
    _pagename = window.location.pathname.match(/[a-z]+(?=.html)/); 
    if (_pagename == _links[i]) { 
     document.getElementById(_pagename).childNodes[0].className = 'current'; 
    } 
} 

コンソールで上記のコードを貼り付け、Enterキーを押し、そしてあなたは、ギャラリーのタブがハイライト表示されます表示されるはずです。

はこれを試してみてください。

+0

彼はすでに '.current'クラスで動作するように設定しているので、単に' class = "current"を現在のページの 'a'要素に追加するだけです。 – justis

+0

正しいこと、それは私のコードです – AlienWebguy

+0

ハードコードされているか、JSではなくPHP/etcでそれをしている場合、私は間違いなく各ページに手動でクラスを追加することをお勧めします。 – justis

関連する問題