サムネイル ボタン (画像ごとに 1 つ) をクリックすると、フェードによって画像が交換され、テキスト キャプションが交換される単純な jquery 画像ギャラリーを作成しようとしています。
絶対に上下に配置された画像を含むdivと、その下にサムネイル/ボタンがあるキャプションがあります。
私が書いたjqueryは、ページがロードされたときの最初の遷移を除いて機能します。最初のトランジションでは、ターゲット イメージが表示され、フェード アウトしてからフェード インに戻ります。単純にフェード インする必要があります。
私はjqueryを初めて使用するので、これが悪いコードである場合は申し訳ありません...
最初のトランジションが正しく機能しない理由を誰か教えてもらえますか?
ありがとう
Jクエリ:
$(document).ready(function(){
$('.gallery_button').click(function(){
$('.gallery_slide').animate( {opacity:0.0}, 2000 );
$('#slide'+$(this).attr('id')).toggleClass('visible');
$('#slide'+$(this).attr('id')).animate( {opacity:1.0}, 2000 );
$('.gallery_caption').hide();
$('#caption'+$(this).attr('id')).show();
$('#caption'+$(this).attr('id')).toggleClass('visible');
});
});
HTML:
<div id="gallery_slider">
<div class="gallery_slide" id="slide1"><img src="img1.jpg"/></div>
<div class="gallery_slide hidden" id="slide2"><img src="img2.jpg"/></div>
<div class="gallery_slide hidden" id="slide3"><img src="img3.jpg"/></div>
<div class="gallery_caption" id="caption1">Caption 1</div>
<div class="gallery_caption hidden" id="caption2"/>Caption2</div>
<div class="gallery_caption hidden" id="caption3"/>Caption3</div>
<div class="gallery_button"><img src="button.gif" id="1"/></div>
<div class="gallery_button"><img src="button.gif" id="2"/></div>
<div class="gallery_button"><img src="button.gif" id="3"/></div>
</div>
CSS:
#gallery_slider{position:relative; height:500px;}
.gallery_slide{position:absolute; top:0; left:0; width:640px; height:480px;}
.gallery_caption{position:absolute; bottom:20px; left:660px; width:160px; min-height:150px;}
.gallery_button{width:10px; height:10px; margin:490px 8px 0 0; float:left;}
.hidden{display:none;}
.visible{display:block; visibility:visible;}