【发布时间】:2012-04-18 13:09:05
【问题描述】:
我有一个显示“订阅”的按钮,当用户将鼠标悬停在它上面时,我想用另一个显示“取消订阅”的按钮替换它。
(有点像 Twitter 的关注按钮,如果你悬停,它会变成取消关注。)
这是我到目前为止所得到的。
$(document).ready(function(){
$('#subscribed_button').hover(function(){
$('#subscribed_button').css("display","none");
$('#unsubscribe_button').css("display","inline");
},function(){
});
$('#unsubscribe_button').hover(function(){
},function(){
$('#unsubscribe_button').css("display","none");
$('#subscribed_button').css("display","inline");
});
});
一切都很好,除了当我快速鼠标时,在这种情况下似乎检测到“悬停”,但没有检测到“悬停”。所以我的按钮偶尔会卡在“取消订阅”中……这很奇怪,而且在视觉上会分散注意力。
我在 Stackoverflow 上看到的大多数解决方案都与停止动画有关,但在这种情况下,我没有制作任何动画;这是一个简单的显示开/关。
有什么想法吗?
【问题讨论】:
-
你能提交一个活生生的例子吗?
-
在 CSS 中实际上有一个叫做 :hover 的东西,代码中有很多函数吗?
-
@Jorge,当代码不起作用时,我很犹豫是否将代码推送到 WWW。
-
@adeneo 我通常会使用 :hover 进行样式设置,但在这种情况下,我实际上是在更改按钮的文本,而且我想不出在没有纯 CSS 的情况下做到这一点的方法在某处涉及 Javascript。
标签: jquery css hover mouseover