1
$('#topcontainer input,select').focus(function() {

   $("#square1").animate({"opacity":"1"}, 400);

}).blur(function() {

    $("#square1").animate({"opacity":"0.2"}, 400);

});

これは基本的に動作するコードです。しかし、同じ div 内で異なる入力 (または選択) を切り替えると、コードがループします。1 つの入力 square1 をクリックすると、不透明度が 1 に変更され、同じ div コンテナー コードにまだある 2 番目の入力を転送すると、不透明度が 0.2 になり、次に 1 になります。同じdivに配置されます。

ありがとう

4

1 に答える 1

1

あなたが何を望んでいるのか分かりませんが、私はあなたがすべきだと思います

jQuery .stopを使用して進行中のアニメーションを停止します。

$('#topcontainer input,select').focus(function() {

   $("#square1").stop().animate({"opacity":"1"}, 400);

}).blur(function() {

    $("#square1").stop().animate({"opacity":"0.2"}, 400);

});

このフィドルを参照してください。いずれかのコントロールをクリックしてから、他の場所をクリックします。

于 2013-04-24T08:33:29.433 に答える