0

我遇到了以下问题,这几乎是我需要的,除了一件事。

悬停时图像放大,div框内的内容附加到图像

最佳答案示例: http ://demo.superdit.com/jquery/zoom_hover/

当我在鼠标悬停然后鼠标移出几次非常快时,动画在鼠标移出后继续播放几次。

鼠标悬停后动画如何只播放一次而没有锯齿状运动?

谢谢。

4

1 回答 1

1

下面是工作代码

$(document).ready(function() {
  var cont_left = $("#container").position().left;
  $("a img").each(function() {
    var $this = $(this);
    var left = $this.position().left, top = $this.position().top;
    $(this).hover(function() {
      // hover in
      $(this).parent().parent().css("z-index", 1);
      $(this).stop().animate({
        height: "250",
        width: "250",
        left: left - 50,
        top: top - 50
      }, "fast");
    }, function() {
      // hover out
      $(this).parent().parent().css("z-index", 0);
      $(this).stop().animate({
        height: "150",
        width: "150",
        left: left,
        top: top
      }, "fast");
    });
  });

  $(".img").each(function(index) {
    var left = (index * 160) + cont_left;
    $(this).css("left", left + "px");
  });
});​

所做的更改:

  • 添加.stop().
  • 固定动画的位置以使其强制.stop()(使其可停止。)
于 2012-09-09T20:55:04.690 回答