多数の画像 (ここでは 3 つ) を循環する画像フェーダーを作成しようとしています。この関数をループして適切な画像にフェードインするように作成しましたが、空のスペースがないように、1 つの画像をフェードアウトしながら次の画像をフェードインします。配列の最後に到達した場合を除いて、配列内の最後の画像をフェードアウトしてから、ループバックして最初の画像を再びフェードインし、2 番目の空きスペースを作成します。
JavaScript
<script type="text/javascript">
var img_arr = [
'#img1',
'#img2',
'#img3'
]
var i = 0;
arr_length = img_arr.length;
//fade function
function fade_gal() {
$(img_arr[i])
.animate(
{opacity: '1.0' }, 500
);
$('.img').delay(3000).animate({opacity: 0.0}, 500);
i = i + 1;
if (i == arr_length) {
i = 0;
}
}
$(document).ready(function img_gallery() {
//initial function
fade_gal();
//set function interval
setInterval( function() {fade_gal()}, 3500);
})
</script>
html
<div id="scroller">
<img src="../../images/1.jpg" alt="img1" width="300px" id="img1" class="img"/>
<img src="../../images/2.jpg" alt="img1" width="300px" id="img2" class="img"/>
<img src="../../images/3.jpg" alt="img1" width="300px" id="img3" class="img"/>
</div>