如何在Scriptaculous中停止闪烁?

时间:2010-04-05 14:32:37

标签: javascript css scriptaculous

我在一个页面上运行此脚本,当您滚动它时,该页面会显示一个包含更多信息的框。

site for review

该脚本工作正常,除了在实际缩放之前盒子的闪烁。 是什么造成的?我在主导航中使用相同的东西,同样轻弹。

任何想法导致了什么?

//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进行测试

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,完全更新顺便说一句。