[英]my for loop doesn't work and I don't know why
$(document).onload(function(){
for (var i = 0; i <max; i++) {
if(pi[i]===undefined||pi[i]===null||pi[i]==0){
pi[i]=1;
}
}
});
alert('hello');
我已经安装了jQuery,并且所有变量都已在代码中的前面进行了设置,但是for循环之后的所有内容均无法正常工作,例如alert('hello')。 如果有人可以看到与此有关的问题,请告诉我。
编辑
var max=438;
localStorage.setItem('max', max);
var pi=[];
pi=JSON.parse(localStorage.getItem('pi'));
var i=localStorage.getItem('i');
var url1=Math.floor((Math.random() * max) + 1);
var url2=Math.floor((Math.random() * max) + 1);
if(url1==url2){
url2=url2+2;
if(url2>max){
url2=url2-max;
}
}
document.getElementById('imgimg1').src='../img/'+url1+'.gif';
document.getElementById('imgimg2').src='../img/'+url2+'.gif';
var v1=url1-1;
var v2=url2-1;
function vote1() {
pi[v1]=pi[v1]+(pi[v2]/pi[v1]);
localStorage.setItem('pi',JSON.stringify(pi));
location.reload();
}
function vote2() {
pi[v2]=pi[v2]+(pi[v1]/pi[v2]);
localStorage.setItem('pi',JSON.stringify(pi));
location.reload();
}
$(document).load(function(){
for (var i = 0; i <max; i++) {
if(pi[i]===undefined||pi[i]===null||pi[i]==0){
pi[i]=1;
}
}
});
alert(pi);
这是完整的代码
假设所有变量设置正确,您的代码应为:
$(document).load(function(){
for (var i = 0; i <max; i++) {
if(pi[i]===undefined||pi[i]===null||pi[i]==0){
pi[i]=1;
}
}
alert('hello');
});
也许这会有所帮助,但是,我不知道您将这些变量设置为什么。 请注意,不是使用文档加载,而是使用jquery ready事件。
<div id="message"></div> <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <script> var max = 100; var pi = []; $(function() { for (var i = 0; i <max; i++) { if(pi[i]===undefined||pi[i]===null||pi[i]==0){ pi[i] = 1; } } $('#message').text(pi.length); }); </script>
$(document).onload(function(){
for (var i = 0; i <max; i++) {
if(typeof pi[i]==="undefined"||pi[i]===null||pi[i]==0){
pi[i]=1;
}
}
});
alert('hello');
我假设您已将“最大”设置为某个正数。 我认为问题是您编码了$(document)。 onload事件 (...当你应该有编码的$(document)。 准备好 (...希望帮助!PK
试试这个:
/* assuming this */
var max = 4; // for example
var pi = [0, 0, 0, 0];
/* end assuming this */
$(document).ready(function() {
for (var i = 0; i < max; i++) {
if(pi && pi[i] && pi[i] < 0) {
pi[i] = -1;
} else {
pi[i] = 1;
}
}
alert(JSON.stringify(pi));
});
它应该写为[[1,1,1,1]
[编辑]
关于整个代码,为什么在准备好文档后需要循环?
为什么不像这样初始化pi
:
var max=438;
localStorage.setItem('max', max);
var pi=[];
pi=JSON.parse(localStorage.getItem('pi'));
for(var i = 0; i < max; i++) {
pi[i] = 1;
}
[...]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.