web-dev-qa-db-ja.com

フェードアウト時のjqueryの遅延

ホバー時にdivの不透明度を変更するこのコードがあります。

$("#navigationcontainer").fadeTo("slow",0.6); 

$("#navigationcontainer").hover(function(){ $("#navigationcontainer").fadeTo("slow",
    1.0); // This sets the opacity to 100% on hover },function(){ 

$("#navigationcontainer").fadeTo("slow",
    0.6); // This sets the opacity back to 60% on mouseout });

Divを不透明度0.6に戻す前に遅延が必要です。どうすればよいですか?

12
user272899

JQuery 1.4では、 delay というメソッドがあります。これは、遅延させたいミリ秒を表す整数を取ります。

$("#navigationcontainer").delay(500).fadeTo("slow", 0.6);

0.5秒の遅延

51
peirix

必要な機能へのコールバックと必要な遅延を伴うsettimeoutを使用します。

$("#navigationcontainer").fadeTo("slow",0.6); 

$("#navigationcontainer").hover(function(){ $("#navigationcontainer").fadeTo("slow",
    1.0); // This sets the opacity to 100% on hover },function(){ 


var delay = 1000;
setTimeout(function() 
    { 
        $("#navigationcontainer").fadeTo("slow",
            0.6); // This sets the opacity back to 60% on mouseout });

    },
    delay
) 
2
MedicineMan

どうですか

$("#hover_me").hover(function() {
                $("#target_div").fadeTo("slow", 1.0);
           }, function() {
                $("#target_div").delay(800).fadeTo("slow", 0.6);
           }); 
0
odavy