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

时间:2013-06-11 07:58:40

标签: jquery jquery-plugins jquery-animate mouseevent background-color

我有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
});

删除确认后,我在consol中看到此错误:

  

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

我哪里错了?

1 个答案:

答案 0 :(得分:1)

尝试使用mouseenter代替stop()方法:

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

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