2010-01-14 224 views
3

好的,我使用了這個列表佈局,並且我希望列表行在我懸停時突出顯示。現在,這確實不是問題,因爲我可以使用JavaScript來改變類,但是我希望光標在懸停和點擊時變成指針,我想跟隨其中的鏈接。當點擊LI時點擊鏈接

示例代碼可以在這裏找到:

http://sandman.net/test/hover_links.html

我也想強調LI只有當它裏面一個合格的鏈接。最好使用jQuery ...任何想法?

-

我編輯的代碼納入下面的建議,問題是,點擊()動作火災時,我點擊李內的其他物品......

-

對,現在我編輯了代碼。我在鏈接上添加了一個類,該鏈接應該在點擊後跟上,然後在沒有該類的鏈接上添加一個event.stopPropagation(),以便它們被瀏覽器相應地處理。

再次感謝!

回答

7
jQuery('li:has(a)') 
    .css('cursor', 'pointer') 
    .hover(function(){ 
     jQuery(this).addClass('highlight'); 
    }, function(){ 
     jQuery(this).removeClass('highlight'); 
    }) 
    .click(function(e){ 
     if (e.target === this) { 
      window.location = jQuery('a', this).attr('href'); 
     } 
    }); 
+0

+1,沒有測試過,但它看起來像什麼,我會做 – marcgg 2010-01-14 12:06:31

+0

對我來說是正確的,謝謝:) – Sandman 2010-01-14 12:16:52

+0

問題雖然 - 當點擊LI中的OTHER鏈接時,這個.click()函數會觸發,例如我再次看到這個頁面,在那裏我修改了代碼 – Sandman 2010-01-14 12:29:34

0

這爲我工作

$('#element li').hover(function() { 
     $(this).animate({ 
      backgroundColor: "#4CC9F2" 
     }, "normal") 
     }, function() { 
     $(this).animate({ 
      backgroundColor: "#34BFEC" 
     }, "normal") 
     }); 

我用jquery.color.js插件它動畫非常好的懸停效果的顏色變化