2016-05-02 5 views
1

画像をクリックしてから3秒遅れて、この3枚の画像をクリックしてフェードアウトしたいと思います。私が書いたコードは現在動作しません。なぜ誰かが説明できますか?ありがとうございました!私は 'this'が3つのidタグを参照すると思った。jqueryを使用して複数の画像をフェードアウトするにはどうすればよいですか?

さらに簡単な方法があれば、教えてください。

<script> 

$(function(){ 
    ('#img1, #img2, #img3').click(function() { 
    $(this).fadeOut(3000); 
    }); 
}); 
</script> 


<div class="flex-container"> 
<img id="img1" src="http://media.creativebloq.futurecdn.net/sites/creativebloq.com/files/images/2015/09/google_logo.jpg"> 
<img id="img2" src="http://media.creativebloq.futurecdn.net/sites/creativebloq.com/files/images/2015/09/google_logo.jpg"> 
<img id="img3" src="http://media.creativebloq.futurecdn.net/sites/creativebloq.com/files/images/2015/09/google_logo.jpg"> 
</div> 

</body> 
</html> 
+4

あなたは '( '#img1、#img2、#img3')の前に「$」を忘れてしまいました。 –

答えて

1

このhttps://jsfiddle.net/pvfbsq3q/2/

$(document).ready(function() { 
    $(function(){ 
    $('#img1,#img2,#img3').click(function() { 
    $('#img1,#img2,#img3').fadeOut(3000); 
    }); 
});}); 
+0

imgタグをセレクタとして使用することは、効果をトリガする必要のない画像にイベントをバインドするため、セレクタとして使用することをお勧めしません。 –

+0

思い出してくれてありがとう。私は自分の答えを更新しました – Atula

1

このsnippet.Thisをフォローしてみてくださいは遅延で画像をフェードする最も簡単な方法です。あなたの必要に応じて、クリックイベントの3秒後に画像をフェードインします。

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<div class="flex-container"> 
 
<img id="img1" src="http://media.creativebloq.futurecdn.net/sites/creativebloq.com/files/images/2015/09/google_logo.jpg"> 
 
<img id="img2" src="http://media.creativebloq.futurecdn.net/sites/creativebloq.com/files/images/2015/09/google_logo.jpg"> 
 
<img id="img3" src="http://media.creativebloq.futurecdn.net/sites/creativebloq.com/files/images/2015/09/google_logo.jpg"> 
 
</div> 
 

 
<script> 
 
$(document).ready(function(){ 
 
var selector = '#img1,#img2,#img3'; 
 
    $(selector).click(function(){ 
 
     
 
     $(selector).delay(3000).fadeOut(1000); 
 

 
    }); 
 
    
 
}); 
 
    
 

 
</script>

+0

一度に1つずつしたいのですが?むしろ3つの画像すべてが影響を受けているのですか? – dancemc15

+0

「セレクタ」変数 –

+0

に希望のものを入れておきます。問題が解決したら、正しいスニペットをチェックしてください。 –

2

フェードアウトは、それが近い将来に拡張することができるように、画像のための一般的なクラスを使用

$('.image').click(function() { 
    setTimeout(function(){ 
     $(this).fadeOut(3000); 
    }, 3000); 
}); 

を使用し、ない3秒後、3秒で画像をフェードインします。コールバックフェードイメージで

+0

詳細をありがとうございます! – dancemc15

関連する問題