2010-01-14 228 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插件它动画非常好的悬停效果的颜色变化