当我有鼠标悬停事件时,Animate()不起作用
Posted
技术标签:
【中文标题】当我有鼠标悬停事件时,Animate()不起作用【英文标题】:Animate() not work when I have mouseover event 【发布时间】:2013-06-07 00:13:37 【问题描述】:我有contextMenu
的这段代码,当删除行时会为行的颜色设置动画,但是当我将mouseout
和mouseover
部分添加到代码中时,已删除行的颜色不再改变:
$(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】:
尝试改用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);
);
【讨论】:
我有 jQuery 颜色插件。 好的,你应该更具体地说明“不工作”是什么意思?没有颜色变化,对吧?顺便说一句,设置一个 jsfiddle 让我们看看发生了什么 是的;没有颜色改变。我不是 jsfiddle 的成员。请稍候。 jsfiddle.net/majidgeek/6uwTj 请分叉。我不知道如何在小提琴中添加jquery.contextMenu.js
和jquery.color-2.1.2.min.js
。
控制台有错误吗?您使用的是哪个上下文菜单插件?以上是关于当我有鼠标悬停事件时,Animate()不起作用的主要内容,如果未能解决你的问题,请参考以下文章
Jquery Animate 背景图像在悬停时摇摆在 Firefox 中不起作用