Javascript JS在for循环内部创建动态变量
出于某种原因,for循环中的动态变量不会在函数中更新,而是在控制台中更新 某人知道为什么会这样吗?非常感谢你的帮助:Javascript JS在for循环内部创建动态变量,javascript,loops,for-loop,dynamic,Javascript,Loops,For Loop,Dynamic,出于某种原因,for循环中的动态变量不会在函数中更新,而是在控制台中更新 某人知道为什么会这样吗?非常感谢你的帮助: $(".numberOfImages").on("mousemove change", function(){ numberOfImages = this.value; changeImageNumber(); }); function changeImageNumber(){ for(var i = 0; i < numberOfImages; i++){
$(".numberOfImages").on("mousemove change", function(){
numberOfImages = this.value;
changeImageNumber();
});
function changeImageNumber(){
for(var i = 0; i < numberOfImages; i++){
console.log(numberOfImages);
images[i] = "img/image" + i + ".jpg";
}
}
它按预期工作,并没有任何错误,但不是全局变量,只是将值传递给函数 var numberOfImages=0; var图像=[]; $numberOfImages.onchange,函数{ numberOfImages=this.value; 更改图像编号; console.logimages }; 函数更改图像编号{ 图像=[]; console.lognumberOfImages; forvar i=0;i
var sliderWidthValue = 1;
var sliderHeightValue = 1;
var distanceLayerWidthValue = 45;
var distanceLayerHeightValue = 45;
var numberOfImages = 10;
var images = [];
$(window).load(function(){
$("#loadingMessage").hide();
$("main").show();
});
$(document).ready(function() {
changeImageNumber();
// Change number of images (not working yet)
$(".numberOfImages").on("mousemove change", function(){
numberOfImages = this.value;
changeImageNumber();
});
function changeImageNumber(){
images = [];
for(var i = 0; i < numberOfImages; i++){
console.log(numberOfImages);
images[i] = "img/image" + i + ".jpg";
}
}
$.each(images, function(i, val) {
$("<img />")
.attr("src", val)
.appendTo("#images")
.addClass("image"+i);
$(".image"+i)
.wrap( "<div class=container"+i+"></div>" );
containerChange();
//change container size
$(".sliderWidth").on("mousemove change", function(){
sliderWidthValue = this.value;
containerChange();
});
$(".sliderHeight").on("mousemove change", function(){
sliderHeightValue = this.value;
containerChange();
});
//Change distance between layers
$(".distanceLayerWidth").on("mousemove change", function(){
distanceLayerWidthValue = this.value;
containerChange();
});
$(".distanceLayerHeight").on("mousemove change", function(){
distanceLayerHeightValue = this.value;
containerChange();
});
function containerChange(){
$(".container"+i)
.css('width', sliderWidthValue*10+(i*distanceLayerWidthValue) + "px")
.css('height', sliderHeightValue*10+(i*distanceLayerHeightValue) + "px")
.css('z-index', i*-1);
}
});
});
这个for循环中的动态变量在函数中不更新是什么意思?你能展示更多的代码吗?你在哪里定义了变量numberOfImages和images?我的意思是变量numberOfImages应该是动态的。上面的代码是否足够,或者我是否也应该共享html代码?