1

jQuery を使用して、ボタンのクリック時に要素の不透明度を 0.3 と 1.0 の間で切り替えたいと考えています。
私が抱えている問題は、不透明度0.3で要素を開始し、最初のクリックで不透明度1.0で完全に見えるようにすることです。私が試したコードは以下のとおりです。

$(document).ready(function(){

    //Start faded to 0.3
    $(".fadingElement").fadeTo(0, 0.3);

    //When the trigger is clicked first, fade the relevant item back up to 1.0
    $("div.trigger").toggle(
        function(){ 
            $(this).parent().next().fadeTo('fast', 1.0);
        }, 
        function () {  
            $(this).parent().next().fadeTo('fast', 0.3);
        }
    );
});

「div.trigger」をクリックしてもフェードアップせず、もう一度クリックするとさらに0.3ずつフェードアップ!3 回目にクリックすると、最初の 0.3 にフェードします。

要素を 0.3 で開始し、最初のクリックで完全に表示 (1.0) に戻すにはどうすればよいですか? ここで何が起こっているのですか?

4

2 に答える 2

1

問題(フィドルのコードに基づく)は、実際にフェードしたい要素は ですが、コードはそれ自体ではなく<div class="student_notified">その親をフェードしています。divdiv

メソッドを使用してfind、親内の正しい要素を選択できます。

$(this).parent().next().find(".student_notified").fadeTo('fast', 0.3);

これが更新された fiddleです。

于 2011-08-02T09:22:46.103 に答える
0

.animate()withを使用し.css('opacity',value)てその動作を実現できます

例:

$("div.trigger").toggle(
$(this).parent().next();
    $(this).parent().next().animate({opacity:1.0});
}, 
function () {  
    $(this).parent().next().animate({opacity:0.3});
   });
}
);
于 2011-08-02T08:41:57.087 に答える