我在一个页面上运行此脚本,当您滚动它时,该页面会显示一个包含更多信息的框。
该脚本工作正常,除了在实际缩放之前盒子的闪烁。 是什么造成的?我在主导航中使用相同的东西,同样轻弹。
任何想法导致了什么?
//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
})
});
});
感谢。 富
答案 0 :(得分:1)
@Allen是对的。致电$(more).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 :(得分:0)
该网站看起来很好。我确实注意到了一些东西,但它可能是我的想象力。
new Effect.Scale(more, 100, {
scaleX: false,
scaleY: true,
scaleContent: false,
scaleFrom: 1,
mode: 'absolute',
duration: 0.5
});
$(more).show();
你可能想尝试这个,它似乎显示它,然后更新它,正如代码所说。首先更新它,然后显示它。
Firefox,完全更新顺便说一句。