JQuery 淡入/淡出错误 - 淡入到正常工作
JQuery fadeIn/fadeOut bug - fadeTo works correctly
我已经认识到jQuery fadeIn()函数的行为,这对我来说似乎是错误的。
这些代码片段应该是等效的:
function fadeIn1(){
$("#fadediv1").stop(true).fadeIn(2000);
}
function fadeOut1(){
$("#fadediv1").stop(true).fadeOut(2000);
}
和:
function fadeIn2(){
$("#fadediv2").stop(true).fadeTo(2000, 1);
}
function fadeOut2(){
$("#fadediv2").stop(true).fadeTo(2000, 0);
}
但实际上示例 1 的行为很奇怪。我创建了一个示例页面,您可以在其中自行测试:http://neo1.fomalhaut.uberspace.de/virtualGuitar/example.html
上面的一个是无法正常工作的那个。如果您使用鼠标输入红色div,蓝色div 将开始淡入。趁它还在淡入时离开它。现在它停止淡入并开始淡出。如果你现在重新进入它,当它逐渐消失时,它只会冻结,尽管它应该再次开始淡入。但事实并非如此。
在下面的示例中,一切都按我预期工作,在这里我使用了 fadeTo 函数。
现在有人可以告诉我我是对的,并且不应该发生这种行为,因为淡入和淡出就像 fadeTo 一样,以 1 和 0 作为目标不透明度?还是我弄错了,由于某种原因,这应该是这样的?
JQuery版本是最新的版本(1.7.2),在Chrome,Firefox和Opera中进行了测试。
你的问题是 .stop() 在元素上设置了新的不透明度样式,在运行 .stop() 时的任何位置。所以现在jQuery认为它应该动画化的不透明度是在淡出序列中停止时的位置。
您可以使用 fadeTo(),如演示所示。或者你可以使用类似的东西:
$("#fadediv1").stop().animate({'opacity':'toggle'}, 2000);
切换选项将记住您的最大值/最小值。因此,如果您在 CSS 中将 fadediv 设置为 opacity: 0.5
,它将在 0 到 0.5 之间进行动画处理。
- Javascript将图像src更改为淡入淡出
- css(或jQuery)悬停时淡入淡出
- 将淡入淡出添加到“我的身体背景滑块”
- 多重潜水淡入淡出打开
- 添加/删除类淡入淡出不起作用
- 带有计数器、缩略图、进度条和淡入淡出效果的简单jQuery幻灯片
- 淡入、滑入和其他需要显示的功能:无无法正常工作
- JQuery 淡入/淡出错误 - 淡入到正常工作
- 除了淡入淡出,nivoSlider之外,没有其他过渡工作
- 淡出 ->淡入无法正常工作
- 使淡入和淡出效果在jquery中工作
- 滚动时淡入淡出;不能在移动浏览器中工作
- 滚动淡入淡出;我不在萤火虫上工作
- 背景淡入淡出无法正常工作
- 淡入&在下面的代码中淡出不工作
- 不透明度淡入仅在调试模式下工作
- 淡入无法正常工作
- Skrollr 淡入淡出文本不起作用,但所有其他 skrollr 元素都可以工作
- 画布淡入/淡出功能没有按预期工作
- Jquery淡入不工作在Safari