jQuery颜色插件:onMouseOver动画导致FF3.5.5中闪烁

发布于 2024-08-15 06:12:34 字数 675 浏览 7 评论 0原文

我正在尝试更改鼠标悬停和鼠标移开时 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

陌若浮生 2024-08-22 06:12:34

为什么不简单地为 div 分配一个类,然后使用 .hover 来定位它们?

编辑

试试这个:

$(".myclass").hover(
function(){
    $(this).animate({ backgroundColor: '#ffffd3' },1);
    },
    $(this).animate({ backgroundColor: '#ffffff' },300);
    }
);

Why not simply assign the div(s) a class, and then use .hover to target them?

EDIT

Try this:

$(".myclass").hover(
function(){
    $(this).animate({ backgroundColor: '#ffffd3' },1);
    },
    $(this).animate({ backgroundColor: '#ffffff' },300);
    }
);
如痴如狂 2024-08-22 06:12:34

最终解决方案:

$(文档).ready(函数()
{
$('.a_editableitem').bind('mouseenter', function() { $(this).animate({ backgroundColor: '#ffffd3' },25); });
$('.a_editableitem').bind('mouseleave', function() { $(this).animate({ backgroundColor: '#ffffff' },250); });
});

闪烁已经停止,但有时仍“卡在”黄色。

Final solution:

$(document).ready(function()
{
$('.a_editableitem').bind('mouseenter', function() { $(this).animate({ backgroundColor: '#ffffd3' },25); });
$('.a_editableitem').bind('mouseleave', function() { $(this).animate({ backgroundColor: '#ffffff' },250); });
});

Flickering has stopped although still gets 'stuck' on yellow sometimes.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文