javascript不按顺序修改样式属性
我正在尝试使用淡入淡出功能实现一个照片库。我已经经历了很多,所以让我们举个例子 我一直在尝试让我的代码在IE8中工作,在IE8中,不透明度为javascript不按顺序修改样式属性,javascript,Javascript,我正在尝试使用淡入淡出功能实现一个照片库。我已经经历了很多,所以让我们举个例子 我一直在尝试让我的代码在IE8中工作,在IE8中,不透明度为0的堆叠图像的数量使动画变慢(单个图像平滑褪色)。解决此问题的方法是在图像淡出后在图像上执行显示:none。现在出现的问题是,我的图像会立即消失,而不是在完成动画之后。有办法解决这个问题吗 我修改的演示代码: <div class="button" onclick=" if(boole) document.getElement
0的堆叠图像的数量使动画变慢(单个图像平滑褪色)。解决此问题的方法是在图像淡出后在图像上执行显示:none
。现在出现的问题是,我的图像会立即消失,而不是在完成动画之后。有办法解决这个问题吗
我修改的演示代码:
<div class="button" onclick="
if(boole)
document.getElementById('fade').style.display = '';
fadeEffect.init('fade', boole?1:0);
if(!boole)
document.getElementById('fade').style.display = 'none';
boole = !boole;
">Fade In</div>
淡入
我不知道是什么提供了fadeEffect函数,但大多数JS effects库都有回调功能——在效果完成时调用函数。如果fadeEffect有这样的功能,您应该将display:none
内容放入回调函数中。效果完成后,将调用回调函数,然后退出。您将无法使用淡入淡出效果代码执行此操作。你需要一个允许你传入回调的函数,否则你需要修改这个函数来允许它code@Pointy所以我在clearInterval(this.si)之后放置了一个警报(“foo”)
代码>并在动画之后运行。当我把一个显示器放在那里:没有,我的大便立刻消失了。那么这个问题与回调有什么关系呢?淡入淡出效果代码是通过一系列计时器来完成工作的。如果它为您提供了一种传递“完成时执行此操作”回调的方法,那么您可以在该回调中更新样式代码。实际上,您对“init”方法的调用只是开始淡入淡出过程,但在执行“init”调用后的下一个语句后很长一段时间内,它将在后续步骤中完成。@Pointy是的,我理解这一点。我的问题是为什么alert(“foo”)
会在动画之后运行,但显示属性会立即被修改。