次のコードがあります。
<script type="text/javascript">
var imgs = new Array("images/banner2.jpg", "images/banner3.jpg", "images/banner4.jpg");
var alt = new Array();
var bgcolor = new Array("#202020", "#00040F", "#202020");
var currentAd = 0;
var imgCt = 3;
function cycle() {
if (currentAd == imgCt) {
currentAd = 0;
}
var div = document.getElementById('banner_bar');
div.style.backgroundColor = bgcolor[currentAd]
var banner = document.getElementById('adBanner');
banner.src = imgs[currentAd]
banner.alt = alt[currentAd]
currentAd++;
}
window.setInterval("cycle()", 8000);
</script>
<div id="banner_bar">
<img class="banner" src="images/banner4.png" id="adBanner">
</div>
背景と画像の変更はうまく機能しますが、フェードを機能させることはできません。ローテーターを壊すか、何もしません。ローテーションコードを書き換えてこれを行う方法について何か考えはありますか?
編集:ここで正しい軌道に乗っているかどうかはわかりませんが、誰かが私を正しい方向に向けることができれば幸いです
<script type="text/javascript">
var imgs = new Array("images/banner2.jpg","images/banner3.jpg","images/banner4.jpg");
var alt = new Array();
var bgcolor = new Array("#FFF","#00040F","#000");
var currentAd = 0;
var imgCt = 3;
function cycle() {
if (currentAd == imgCt) {
currentAd = 0;
}
$("#banner_bar").fadeOut(3000, function () {
var div = document.getElementById('banner_bar');
div.style.backgroundColor=bgcolor[currentAd]
var banner = document.getElementById('adBanner');
banner.src=imgs[currentAd]
banner.alt=alt[currentAd]
currentAd++;
) };
}
window.setInterval("cycle()",5000);
</script>
<div id="banner_bar">
<img class="banner" src="images/banner4.jpg" id="adBanner">
</div>