当我有鼠标悬停事件时,Animate()不起作用

Posted

技术标签:

【中文标题】当我有鼠标悬停事件时,Animate()不起作用【英文标题】:Animate() not work when I have mouseover event 【发布时间】:2013-06-07 00:13:37 【问题描述】:

我有contextMenu 的这段代码,当删除行时会为行的颜色设置动画,但是当我将mouseoutmouseover 部分添加到代码中时,已删除行的颜色不再改变:

$(function () 
$('.users').contextMenu(
selector: 'tr',
callback: function (key, options) 
    if (key == 'delete') 
        if (confirm(" Are you sure?")) 
            $.post("../Actions/Delete.ashx",  type: "user", id: $(this).attr('id') );
            $(this).animate( backgroundColor: '#FF80FF' , 1000);
        
    

,
items: 
    "edit":  name: "edit" ,
    "delete":  name: "delete" 

);
//newly added part
$('tr').mouseover(function () 
    $('td', this).animate
( backgroundColor: "#80FF00" , 300);
);

$('tr').mouseout(function () 
    $('td', this).animate
( backgroundColor: "white" , 300);
);
//till here
);

删除确认后我在控制台中看到此错误:

[13:08:10.282] 找不到元素@localhost:1299/Actions/Delete.ashx:1

我哪里错了?

【问题讨论】:

@Pete 我的鼠标悬停在动画上做动画,但在 confirm 动画之后不会改变颜色。所以我认为这不是重复的。 【参考方案1】:

尝试改用mouseenterstop() 方法:

动画颜色,我认为你需要包含一个支持它的插件,如 jquery UI

$('tr').mouseenter(function () 
    $(this).find('td').stop().animate(
        backgroundColor: "#80FF00"
    , 300);
).mouseout(function () 
    $(this).find('td').stop().animate(
        backgroundColor: "#ffffff"
    , 300);
);

【讨论】:

我有 jQuery 颜色插件。 好的,你应该更具体地说明“不工作”是什么意思?没有颜色变化,对吧?顺便说一句,设置一个 jsfiddle 让我们看看发生了什么 是的;没有颜色改变。我不是 jsfiddle 的成员。请稍候。 jsfiddle.net/majidgeek/6uwTj 请分叉。我不知道如何在小提琴中添加jquery.contextMenu.jsjquery.color-2.1.2.min.js 控制台有错误吗?您使用的是哪个上下文菜单插件?

以上是关于当我有鼠标悬停事件时,Animate()不起作用的主要内容,如果未能解决你的问题,请参考以下文章

鼠标悬停事件在 TableView 的标题中不起作用

KineticJS 鼠标事件问题

Jquery Animate 背景图像在悬停时摇摆在 Firefox 中不起作用

当我在 SVG 中将鼠标悬停时,如何显示和隐藏同级元素?

我需要在css中有两个动画,一个在开始,一个在悬停,但它不起作用

嵌入在对象元素中的 SVG 上的鼠标指针悬停/jquery 单击事件不起作用