0

これが私のコードです:

'$(".hoverfront").mouseenter(function () {'
   var elem = $(this);
   elem.flip({
      direction: 'lr',
      color: 'red',
      speed: 700,
      content: $(".description"),
   onBefore: function(){
      $(this).removeClass('hoverfront');
      $(this).addClass('back');
   }
  });
}).mouseleave(function () {
      $(".back").revertFlip();
});

http://jsfiddle.net/mornaistar/eHfUa/

クリック イベントはうまく機能しますが、ホバー イベントで頭がおかしくなりそうです。何が間違っているのでしょうか?

4

1 に答える 1

1

コードを更新しました。ここで JSFiddle のデモを参照してください

var isHover = false;
$(".hoverfront").mouseenter(function () {
  if (isHover == false) {
    isHover = true;
    var elem = $(this);
    elem.flip({
      direction: 'lr',
      color: 'red',
      speed: 700,
      content: $(".description"),
      onBefore: function () {
        elem.removeClass('hoverfront');
        elem.addClass('back');
      }
    });
  }
}).mouseleave(function () {
  var $this = $(this);
  $this.revertFlip();
  $this.removeClass('back');
  $this.addClass('hoverfront');
  isHover = false;
});

問題は

  1. 後にクラスを元に戻していませんでしたrevertFlip
  2. ホバーは一度だけ実行する必要があります。(これには変数を使用しました)
于 2013-01-12T06:54:37.293 に答える