我在javascript中创建了自己的图片滚动,在3-4照片更改后,我的脚本崩溃了。我不知道为什么!如果有人可以帮助我? 这些图片是从两个不同的文件中随机拍摄的,我将它们放在一个数组上
这是我的代码:
<div class="corpshaut">
<a href="" id="lien_banniere0" border="0" class="image-bandeau"><img src="" id="banniere0" height="150" border="0" width="150" /></a>
<a href="" id="lien_banniere1" border="0" class="image-bandeau"><img src="" id="banniere1" height="150" border="0" width="150"/></a>
<a href="" id="lien_banniere2" border="0" class="image-bandeau"><img src="" id="banniere2" height="150" border="0" width="150"/></a>
<a href="" id="lien_banniere3" border="0" class="image-bandeau"><img src="" id="banniere3" height="150" border="0" width="150"/></a>
<a href="" id="lien_banniere4" border="0" class="image-bandeau"><img src="" id="banniere4" height="150" border="0" width="150"/></a>
<script>
$(document).ready(function(){
boucle();
});
function boucle(){
/*Variablde de parametre*/
var nbimagetotal = 5;
var nbimagesuivie = 1;
var nbimagedossier = 11;
var repertoire = 'image3/(';
var lien = 'www.lien.fr';
/*-------------------------*/
/*Variablde*/
var stock = new Array();
var index;
var occu;
var nbimage = Math.floor((Math.random()*nbimagetotal)+1);
var aleatoire;
/*-------------------------*/
while (nbimagesuivie <= nbimagetotal){
occu=0;
for (i=0; i<nbimage; i++){
aleatoire = repertoire + Math.floor((Math.random()*nbimagedossier)+1) + ').gif';
/*Boucle FOR permettant de verifier si l'image est déja dans le tableau*/
for (j =0; j<i;j++){
index= stock[j].indexOf(aleatoire);
if (index != -1) {
occu=1;
}
}
if (occu==0) {
stock[i] = new Array();
stock[i][0]= aleatoire;
stock[i][1]=lien;
nbimagesuivie = nbimagesuivie +1;
}
else{
--i;
}
}
if(nbimage < 5){
occu=0;
var repertoire2 = 'image2/';
var nbimagedossier2 = 11;
var nbimage2 = nbimagetotal - nbimage;
var lien2 = 'www.lien2.fr' ;
for (i=nbimage; i<nbimagetotal; i++){
aleatoire = repertoire2 + Math.floor((Math.random()*nbimagedossier)+1) + '.jpg';
/*Boucle FOR permettant de verifier si l'image est déja dans le tableau*/
for (j =0; j<i;j++){
index= stock[j].indexOf(aleatoire);
if (index != -1) {
occu=1;
}
}
if (occu==0) {
stock[i] = new Array();
stock[i][0]= aleatoire;
stock[i][1]=lien2;
nbimagesuivie = nbimagesuivie +1;
}
else{
--i;
}
}
}
}
for (i=0;i<nbimagetotal;i++){
$('#lien_banniere'+i).attr('href', stock[i][1]);
$('#banniere'+i).attr('src',stock[i][0] );
}
setTimeout(function(){boucle()}, 5000);
}
</script>
thx求助
答案 0 :(得分:0)
你确实有一个无限循环,因为如果使用= = 1你正在做一个--i,那么使用for你将会做一个i ++,循环将以这种方式继续而不会破坏。