经过多次迭代后出现javascript幻灯片错误
javascript slideshow bug after several iterations
我用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>
感谢您的帮助
你确实有一个无限循环,因为如果occ==1你在做一个--i,那么用for你会做一个i++,循环将以这种方式继续而不会中断。
相关文章:
- JavaScript幻灯片显示,每个幻灯片的下一个按钮都有不同的位置
- 旧的javascript幻灯片只显示wihtout幻灯片(onclick)
- Javascript幻灯片淡出
- HTML Javascript 幻灯片优化
- 清除窗口Javascript幻灯片
- javascript幻灯片无法正常工作
- 淡入淡出javascript幻灯片
- 图像的Javascript幻灯片放映
- 如何使用for循环制作javascript幻灯片
- 什么'我的JavaScript幻灯片有问题
- 我在一页上有两个简单的javascript幻灯片,但第二个停止了第一个工作
- 没有jquery的JavaScript幻灯片
- 在单个页面上使用多个JavaScript幻灯片时遇到问题
- 悬停时暂停 Javascript 幻灯片
- 如何向我的 JavaScript 幻灯片添加淡出效果
- JavaScript 幻灯片暂停悬停
- 不使用包装器元素的 Javascript 幻灯片库
- 使用导航按钮制作基本 Javascript 幻灯片时出错
- 直接在 Javascript 幻灯片上添加文本
- 简单的Javascript幻灯片功能不起作用