【发布时间】:2014-10-03 03:02:24
【问题描述】:
我在玩纯 JavaScript,所以我创建了一个小的淡入/淡出对象,以调整图像不透明度 onmouseover 和 onmouseout。当鼠标悬停和鼠标悬停动作精确时,淡出效果很好:
- 从白色背景开始移动光标
- 将鼠标悬停在图片上
- 将鼠标悬停在白色背景上
问题是,一旦我开始“自然”地将鼠标从一个图像移动到另一个图像,渐变(或者更确切地说是脚本本身)就会冻结。
我不确定这是动画速度问题,还是我在实现中遗漏了一些东西。
如果有人有时间看一看,我会很感激同行检查,这样我就可以解决问题并学习新东西。
这是一个小提琴:http://jsfiddle.net/6bd3xepe/
谢谢!
【问题讨论】:
-
好吧,据我所知,问题线是'if (element_opacity.toFixed(2)
-
是的,这就是失败的部分。非常感谢。
-
我相信真正失败的部分是,当您尝试在图像上进行这种自然运动时,淡出会被以下淡入淡出取消,因此淡出也不会发生。 .
-
对。我为淡入和淡出创建了单独的间隔属性(更新的小提琴:jsfiddle.net/6bd3xepe/5)。效果要好得多,但是光标移动的高速仍然可以杀死它。
-
不错。我可能会建议尽量不要使用“that”。肯定有一种简单的方法可以避免这种情况。在这种情况下,不传递匿名函数来设置超时,而是将变亮/变暗封装在您也绑定“this”的函数中。
标签: javascript fadein opacity fadeout