改变背景位置 - 更好地使用jQuery或:使用Selectivizr进行悬停?

时间:2010-12-23 10:32:43

标签: jquery css css-selectors pseudo-class

我一直在用jQuery做背景翻转一段时间,就像这样:

 $("#menusearchbutton").hover(function(){$(this).css('backgroundPosition', '0px -24px');},function(){$(this).css('backgroundPosition', '0px 0px');});

但我最近遇到了Selectivizr,它允许在IE6-8中使用伪类,其中包括:悬停。

这比使用jQuery更好吗?当然,它们都是JS,所以它不能满足用户启用javascript的要求。但除此之外,使用一个而不是另一个可以获得任何好处吗?

干杯:)

2 个答案:

答案 0 :(得分:2)

:hover已经在IE7 +中运行,IE6只允许使用<a>个元素...所以我说你已经可以单独使用CSS而没有库,只要IE6不是一个问题。

#menusearchbutton { background-position: 0px 0px; }
#menusearchbutton:hover { background-position: 0px -24px; }

答案 1 :(得分:0)

Nick是对的:你应该使用native:hover功能。 只需注意以下几点:如果<a>没有href=""属性,则悬停效果在IE中无效。不要忘记它。

另外,我们经常希望对div有悬停效果。这是因为div的默认显示。如果您希望将<a>代码视为div,请在CSS中使用display:block