【发布时间】:2011-08-16 18:42:50
【问题描述】:
我有一些 div 元素,每个元素都有一个由 CSS 应用的 hover 效果。但我并不总是想要这种悬停效果;它应该只在特定条件下激活。
现在,当我的条件满足时,如何使用 jQuery 禁用那些 hover 效果?禁用hover 的代码是什么?我无权访问 CSS 文件。
【问题讨论】:
我有一些 div 元素,每个元素都有一个由 CSS 应用的 hover 效果。但我并不总是想要这种悬停效果;它应该只在特定条件下激活。
现在,当我的条件满足时,如何使用 jQuery 禁用那些 hover 效果?禁用hover 的代码是什么?我无权访问 CSS 文件。
【问题讨论】:
只需使用 jQuery hover 代替 CSS 即可。
例如而不是这样的CSS:
#Div1:hover { background-color: yellow; }
有这个 jQuery:
$("#Div1").hover(function() {
$(this).css("background-color", "yellow");
}, function() {
$(this).css("background-color", "");
});
同样的效果,你控制JS代码,可以有条件。
现场测试用例:http://jsfiddle.net/THXuc/
【讨论】:
.css() 会附加任何写入你 css 的内容
你可以使用
<script>
$("someDiv").hover(function(event) {
//apply some conditions if yes
event.preventDefault();
else
return true;
});
</script>
希望这对你有用....
谢谢
【讨论】:
您可以使用 jquery .hover() 对有问题的 div(s) 应用不同的类。在 mousein 上应用该类,在 mouseout 上将其删除。
【讨论】: