Javascript js/jquery;未定义,执行顺序?
我一直在尝试使用一些图像创建一个随机的禁止重复 有时,我的参数Javascript js/jquery;未定义,执行顺序?,javascript,Javascript,我一直在尝试使用一些图像创建一个随机的禁止重复 有时,我的参数getRandomImage会抛出一条undefined消息;发生的情况是,数字变得大于数组长度。(尽管我一直认为我对长度的定义是明确的) 我认为这是因为我所有的代码都在同一时间执行/我的处理顺序不对 任何帮助都会很好,如果还不够的话,我已经上传了我所知道的 var-imageContainer=新数组; imageContainer[0]=“url(images/cake1.jpg)”; imageContainer[1]=“ur
getRandomImage
会抛出一条undefined
消息;发生的情况是,数字变得大于数组长度。(尽管我一直认为我对长度的定义是明确的)
我认为这是因为我所有的代码都在同一时间执行/我的处理顺序不对
任何帮助都会很好,如果还不够的话,我已经上传了我所知道的
var-imageContainer=新数组;
imageContainer[0]=“url(images/cake1.jpg)”;
imageContainer[1]=“url(images/cake2.jpg)”;
imageContainer[2]=“url(images/cake4.jpg)”;
imageContainer[3]=“url(images/joke1.jpg)”;
imageContainer[4]=“url(images/joke2.jpg)”;
imageContainer[5]=“url(images/joke3.jpg)”;
imageContainer[6]=“url(images/joke4.jpg)”;
imageContainer[7]=“url(images/joke5.jpg)”;
imageContainer[8]=“url(images/penguin1.jpg)”;
imageContainer[9]=“url(images/penguin3.jpg)”;
imageContainer[10]=“url(images/penguin4.jpg)”;
var emptyContainer=[0];
函数更改图像(getRandomImage){
getRandomImage=Math.floor(Math.random()*imageContainer.length);
$(“#imgdiv”).css(“背景图像”,imageContainer[getRandomImage]);
imageContainer.splice(getRandomImage,1);
splice(getRandomImage,0,imageContainer[getRandomImage]);
if(getRandomImage
身体{
保证金:0自动;
}
#背景容器{
位置:绝对位置;
宽度:100%;
身高:100%;
背景:#ebf1f6;
背景:线性梯度(至底部,#ebf1f6 0%,#abd3ee 27%,#abd3ee 27%,#89c3eb 63%,#89c3eb 63%,#d5ebfb 100%);
}
#主容器{
位置:绝对位置;
左:225px;
宽度:75%;
身高:100%;
保证金:0自动;
背景:url(“images/ylwpaper.png”);
背景大小:100%;
}
#主按钮{}引号{}imgdiv{
宽度:400px;
高度:550px;
背景色:无;
大纲:无;
位置:相对位置;
利润率:100px 900px;
}
Jquery示例
需要爱
测试
对于初学者,您需要颠倒以下两条语句:
imageContainer.splice(getRandomImage, 1);
emptyContainer.splice(getRandomImage, 0, imageContainer[getRandomImage]);
为此:
emptyContainer.splice(getRandomImage, 0, imageContainer[getRandomImage]);
imageContainer.splice(getRandomImage, 1);
在您的版本中,您将从阵列中删除选定的图像,然后在删除后,您将尝试访问它。我几乎可以肯定问题在于第25行的打字错误。试着改变
if (getRandomImage < imageContainer.length) {
getRandomImage == 0;
}
if(getRandomImage
到
if(getRandomImage
拼接imagecontainer数组时,它会导致其长度减少,并且可能是在您引用一个不再存在的索引时 请使用您的代码制作一个JSFIDLE,并将URL粘贴到您的HTML中的几个小语法错误。您缺少结束标记
,并且您的
和
标记中包含随机img
属性。此外,我会将所有函数的逻辑置于该条件下。
if (getRandomImage < imageContainer.length) {
getRandomImage = 0;
}