jQuery颜色插件:onMouseOver动画导致FF3.5.5中闪烁
我正在尝试更改鼠标悬停和鼠标移开时 div 的背景颜色。 MouseOver 时立即变为黄色,MouseOut 时缓慢淡出。
函数 hilightel(keydiv)
{
$('#'+keydiv).animate({ backgroundColor: '#ffffd3' },1);
}
函数 lolightel(keydiv)
{
$('#'+keydiv).animate({ backgroundColor: '#ffffff' },300);
}< div onMouseOver=javascript:highlightel('item1'); onMouseOut=javascript:lolightel('item1'); id='item1'>内容< /div>
但是,当鼠标移到 div 内的文本上时,它认为我已经将鼠标移出,因此闪烁得很厉害。
无效的替代方案:
- animateToClass 不支持背景颜色,所以我使用“颜色”插件
- 我听说 switchClass 在 Chrome 中不起作用
- 无法使用 .hover 因为它们将在页面中动态命名 div,因此需要一个通用函数
提前致谢...
I'm trying to change the background color of a div on mouseover and mouseout. Instant change to yellow on MouseOver, and slow fade on MouseOut.
function hilightel(keydiv)
{
$('#'+keydiv).animate({ backgroundColor: '#ffffd3' },1);
}
function lolightel(keydiv)
{
$('#'+keydiv).animate({ backgroundColor: '#ffffff' },300);
}< div onMouseOver=javascript:highlightel('item1'); onMouseOut=javascript:lolightel('item1'); id='item1'>CONTENT< /div>
When the mouse moves over text within the div, though, it thinks I've moused-out and so flickers badly.
Alternatives that don't work:
- animateToClass doesn't support background-color so I'm using the 'color' plugin
- I hear that switchClass doesn't work in Chrome
- Can't use .hover because their will be dynamically named divs in the page so need a general function
Thanks in advance...
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
为什么不简单地为 div 分配一个类,然后使用 .hover 来定位它们?
编辑
试试这个:
Why not simply assign the div(s) a class, and then use .hover to target them?
EDIT
Try this:
最终解决方案:
闪烁已经停止,但有时仍“卡在”黄色。
Final solution:
Flickering has stopped although still gets 'stuck' on yellow sometimes.