【发布时间】:2012-06-09 10:53:30
【问题描述】:
我已经使用 css 为某个元素分配了悬停状态。在特定事件之后,我想使用 jQuery 更改悬停状态。我想更改我在 css 文件中提到的 :hover 类选择器。我知道我可以使用.hover 函数来实现,但我不想使用它,因为这不适合我的应用程序。在我的应用程序中,悬停状态的这种变化会持续一段时间,这意味着在特定时间之后我必须取消绑定悬停事件。但是在我的应用程序中有许多条件模块,我需要在其中调用此取消绑定事件。许多低效的电话取消绑定我不想要的东西。
elem {
width:10px;
}
elem:hover {
width:20px;
}
我想改变hover 状态的宽度,比如20px to 40px。我想使用像.css('width','100px') 这样简单的东西,但是如何在:hover 选择器上调用这个函数。
【问题讨论】:
-
你不能只改变 CSS 中的
elem:hover规则吗?我认为hover()不会比您应用的任何其他方法效率低。 -
为什么你不使用
CSS来实现这个目标? -
@David,我并不是说
hover()在直接意义上是低效的。实际上,在我的应用程序中,我必须对hover,focus,active做同样的事情。因此,除了多次调用 bind 和 unbind 之外,还有什么方法可以在一两步中简化它。可能是添加或删除class -
@Vladimir,我已经动态地改变了它,比如基于页面上当前可用的宽度。
-
@knoxxs 宽度可以相对于父 div 设置(例如以 % 为单位),或使用 mediaqueries