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

时间:2009-12-16 17:36:57

标签: jquery jquery-animate mouseover flicker

我正在尝试在mouseover和mouseout上更改div的背景颜色。在MouseOver上立即更改为黄色,在MouseOut上慢速淡出。

  

功能hilightel(keydiv)
  {
        $('#'+ keydiv).animate({backgroundColor:'#ffffd3'},1);

  }
  功能lolightel(keydiv)
  {
         $('#'+ keydiv).animate({backgroundColor:'#fffffff'},300);

  }

     

< div onMouseOver = javascript:highlightel('item1');的onmouseout = JavaScript的:lolightel( 'ITEM1'); ID = 'ITEM1' >内容< / DIV>

当鼠标移动到div内的文本时,它认为我已经被淘汰了,因此非常闪烁。

不起作用的替代品:
- animateToClass不支持背景颜色,所以我使用的是'color'插件 - 我听说switchClass在Chrome中不起作用 - 不能使用.hover,因为它们将在页面中动态命名为div,因此需要一般功能

提前致谢...

2 个答案:

答案 0 :(得分:1)

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

修改

试试这个:

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

答案 1 :(得分:0)

最终解决方案:

  

(文档)$。就绪(函数()
  {
      $('。a_editableitem')。bind('mouseenter',function(){$(this).animate({backgroundColor:'#ffffd3'},25);});

      $('。a_editableitem')。bind('mouseleave',function(){$(this).animate({backgroundColor:'#fffffff'},250);});

  });

闪烁已停止,但有时仍然会“卡住”黄色。