0
我正在嘗試使未知(但很少)數量的圖像隨機預加載橫幅。動態隨機橫幅
我在Javascript和jQuery的新手,但我幾乎得到它做工精細: http://jsfiddle.net/kTS3t/1/
我想這有什麼不對的,因爲時間是不正常。 因爲我希望它可以毫不拖延地顯示,所以我在JavaScript代碼上分割了第一個橫幅。
任何線索怎麼了?
非常感謝!
代碼(就像http://jsfiddle.net/kTS3t/1/):
CSS
#banner-governo {
position:relative;
width:300px;
height:100px;
}
.banner-gov {
position:absolute;
top:0;
right:0;
display:none;
}
JS + JQUERY
$(window).load(function() {
var numItems = $('.banner-gov').length;
var i = 2;
var espera = 3000;
function bannerrand() {
$('#banner-gov-1').fadeIn('medium', function() {
$(this).delay(espera).fadeOut('medium');
})
while (i <= numItems) {
var esperaItem = espera*i;
$('#banner-gov-'+i).delay(esperaItem).fadeIn('medium', function() {
$(this).delay(espera).fadeOut('medium', function(){
if(i = numItems){
bannerrand();
};
});
});
i++;
}
}
bannerrand();
}); //end $(window).load(function
HTML
<div id="banner-governo">
<div class="banner-gov" id="banner-gov-1">
<img src="http://www.hospedagemdesitesgratis.org/img/hospedagem-gratis-html.jpg" />
</div>
<div class="banner-gov" id="banner-gov-2">
<img src="http://apostilaria.com/wp-content/uploads/2011/02/javascript.jpg" />
</div>
<div class="banner-gov" id="banner-gov-3">
<img src="http://otaqui.com/blog/wp-content/uploads/html5_vs_flash-300x100.png" />
</div>
</div>
再次感謝!
此代碼工作正常,非常感謝! :) 我認爲這是更好的橫幅之間沒有延遲,所以我做了另一個修改,它變得完美(刪除延遲淡化)http://jsfiddle.net/kTS3t/10/ 我只是無法理解什麼你的意思是用mod運算符和這段代碼:+(i%numItems + 1)! – LuAmbros
@LuAmbros是改變延遲以滿足您的需求。 mod運算符'%'在'i'除以'numItems'之後剩餘餘數。所以它總是返回一個介於'0'和'numItems - 1'之間的數字。 – Quincy
@LuAmbros順便說一下,顯示順序現在不是隨機的,而是按順序。你可以使用'Math.random()'來隨機化顯示。將'i'替換爲'Math.floor((Math.random()* 100))'會做的事情。 – Quincy