3

http://www.izrada-weba.com/orso リンク「NENATKRIVENA TERASA...」にマウスオーバーすると、サブメニューと画像が一緒にフェードインします。サブメニューは、ダウンロードしたスクリプトを使用してフェードし、上の画像は私のコードを使用してフェードしています:

$(document).ready(function () {
   $("#slika1").hide();

  $("#test,#submenu2").hover(
      function () {
       $("#slika1").fadeIn();
      }, 
      function () {
         $("#slika1").fadeOut();
      }
    );       
});

マウスがリンク上にあるときは画像がフェードインし、マウスがサブメニューに移動すると画像がフェードアウトし、再びフェードインします...理由はわかっていますが、マウスを直接動かしたときにフェードアウトしないようにする方法がわかりませんリンクからサブメニューへ。これに対する解決策はありますか?

ありがとう、イル

4

2 に答える 2

16

関数 stop() は、指定された要素で現在実行中のアニメーションを停止します。
マウスオーバー機能を変更してみてください:

$("#slika1").stop().fadeIn();


編集:
サブメニューが完全にフェードインしないという問題があるようです (ile のコメントを参照)。これは jQuery のバグのように思えますが、よくわかりません。誰かが声をかけて、なぜこれが起こっているのかを説明できるかもしれません.
これを回避するには、fadeTo(); を使用してみてください。望ましい結果が得られるようです:

$(document).ready(function () {
  $("#slika1").fadeTo(0,0);

  $("#test,#submenu2").hover(
    function () {
      $("#slika1").stop(true).fadeTo("normal",1);
    }, 
    function () {
      $("#slika1").fadeTo("normal",0);
    }
  );       
});
于 2009-10-31T00:32:31.963 に答える
1

が中断されたときに機能しfadeIn()ない場合の問題は、要素が非表示になっている場合にのみ機能するためです。あなたがそれをバグと呼んでも機能と呼んでも。これを修正するには、次のようにします。fadeOut()fadeIn()

$("#mydiv").stop().hide().fadeIn(450);
于 2012-08-07T06:15:39.493 に答える