2011-08-14 139 views
0

我不知道這是否可以用CSS或JavaScript解決。我有一系列用css構建的導航廣場。背景顏色在懸停狀態下發生變化。如何在點擊後保持鏈接懸停狀態,當另一個鏈接點擊動態生成頁面

#nav1, #nav2, #nav3 
{position: absolute; width:20px; height:20px; margin-right:7px;} 
#nav2 {left: 27px;}#nav3 {left: 54px;} 

a.nav:link {color: #fff;background-color: #bfbfc9;} 
a.nav:visited, a.nav:hover, a.nav:active {background-color: #979695;} 

這些導航方式礦石包含在動態生成的頁面中的div中。我使用JQery函數showonlyone(thechosenone)來顯示和隱藏顯示並隱藏的頁面部分。

function showonlyone(thechosenone) { 
$('div[class|="page"]').each(function(index) { 
     if ($(this).attr("id") == thechosenone) { 
      $(this).show(); 
     } 
     else { 
      $(this).hide(); 
     } 
}); 

光標離開導航方塊後,無論是懸停還是點擊,背景顏色都會變回原來的狀態。我希望顏色在當前頁面顯示時保持與懸停狀態相同的顏色。我做了詳盡的搜索,但似乎沒有任何工作。謝謝你的幫助。

回答

1

HTML:

<ul> 
    <li><a class="nav" href="#"></a></li> 
    <li><a class="nav" href="#"></a></li> 
    <li><a class="nav" href="#"></a></li> 
</ul> 

CSS:

a.nav:visited, a.nav:hover, a.nav:active, a.nav.active {background-color: #979695;} 

的Javascript:

$('.nav').click(function(){ 
    // Call your "showonlyone" function 
    $(this).addClass('active') 
     .parent().siblings() 
     .find('a').removeClass('active'); 
}); 

您可能需要這個適應你的HTML,但你明白了。

如果您需要更多幫助,請發佈您的HTML。

+0

非常感謝!有用。從外部頁面訪問該頁面時,我需要一個類似的狀態 - 其中導航方塊是較暗的背景色。我會努力的。 – eman

-1

一下添加到jQuery的:

$(this).css('background-color', '#979695'); 

這實際上會改變的,而不是臨時改變你的div的風格:懸停。

相關問題