Javascript 我怎样才能停止Scriptaculous中的闪烁?
我在一个页面上运行这个脚本,当你滚动它时,它会显示一个包含更多信息的框 脚本运行良好,只是在实际缩放之前框会闪烁。 这是什么原因造成的?我在主导航中使用相同的东西,并使用相同的轻弹 你知道这是什么原因吗Javascript 我怎样才能停止Scriptaculous中的闪烁?,javascript,css,scriptaculous,Javascript,Css,Scriptaculous,我在一个页面上运行这个脚本,当你滚动它时,它会显示一个包含更多信息的框 脚本运行良好,只是在实际缩放之前框会闪烁。 这是什么原因造成的?我在主导航中使用相同的东西,并使用相同的轻弹 你知道这是什么原因吗 //work page springing box $$('.box').each(function(s) { var more = $(s).down(2); $(s).observe('mouseenter', function(e) { $(more).show(
//work page springing box
$$('.box').each(function(s) {
var more = $(s).down(2);
$(s).observe('mouseenter', function(e) {
$(more).show();
new Effect.Scale(more, 100, {
scaleX: false,
scaleY: true,
scaleContent: false,
scaleFrom: 1,
mode: 'absolute',
duration: 0.5
});
});
$(s).observe('mouseleave', function(e) {
new Effect.Fade(more, {
duration: 0.2
})
});
});
谢谢。
丰富的
- 我应该注意,我正在Safari 4.0.4中进行测试
- 我觉得这个网站不错。我确实注意到了一点,但那可能是我的想象
new Effect.Scale(more, 100, {
scaleX: false,
scaleY: true,
scaleContent: false,
scaleFrom: 1,
mode: 'absolute',
duration: 0.5
});
$(more).show();
不过,您可能想尝试一下,它似乎会显示它,然后更新它,正如代码所说。首先更新它,然后显示它
Firefox,完全更新。Allen是正确的。调用
$(更多).show()时代码>将显示整个框。然后,当您调用new Effect.Scale(more
时,框会向下缩放并滑入。因此$(more).show();
是导致闪烁的原因。您可以尝试:
$(more).show.bind(more).delay(0.01);
new Effect.Scale(more, 100, {
scaleX: false,
scaleY: true,
scaleContent: false,
scaleFrom: 1,
mode: 'absolute',
duration: 0.5
})
您需要将其缩放到1,然后显示,然后执行效果。顺便说一句,chrome上有闪烁,最新版本不确定这是否是您的意思:$(更多)。setStyle({height:'1px'})这似乎只会使框稍微向外倾斜一点。