gpt4 book ai didi

javascript - 函数运行所有条件,忽略当前变量

转载 作者:行者123 更新时间:2023-12-02 19:07:35 24 4
gpt4 key购买 nike

我创建了一些div;它们的innerHTML 属性根据当前显示的图像(由imageArray[value] 定义)进行更改。我遇到的问题是这个函数中的条件不能正常工作。该函数运行每个语句并在最后一个条件括号中的值处停止。这可能是一个逻辑问题或缺少一段代码,但我想听听您对如何解决这个问题的想法。

该函数通过 prevImage()nextImage() 触发:

function textChange(){

var titleMod = document.getElementById('title');
var dateMod = document.getElementById('date');
var infoMod = document.getElementById('info');
var pagelink = document.getElementById('enter');

if(new_image = imageArray[0]){

titleMod.innerHTML = "This is Image 1";
dateMod.innerHTML = "july 12 12";
infoMod.innerHTML = "<p>paragraph goes in here</p>";
pagelink.onclick = "window.location.href='house.html';"

alert('\o/');

}

if(new_image = imageArray[1]){

titleMod.innerHTML = "This is Image 2";
dateMod.innerHTML = "july 12 19";
infoMod.innerHTML = "<p>paragraph</p>";
pagelink.onclick = "window.location.href='contact.html';"

alert('lolol');

}

if(new_image = imageArray[2]){

titleMod.innerHTML = "This is Image 3";
dateMod.innerHTML = "july 12 19";
infoMod.innerHTML = "<p>paragraph</p>";
pagelink.onclick = "window.location.href='contact.html';"

alert('thisWorks');

}

}

最佳答案

所有条件都使用赋值而不是比较。

new_image = imageArray[2]new_image 设置为 imageArray[2] 的值,该值是一个真值。您需要比较这两件事,例如。

new_image === imageArray[2]

至于为什么它们都在运行,而不是在满足第一个条件后立即短路,这是因为您使用的是一系列独立的 if 语句,而不是ifelse ifelse 链。

if(new_image === imageArray[0]){
...
} else if(new_image === imageArray[1]){
...
} else if(new_image === imageArray[2]){
...
} else {
// new_image doesn't meet any of the previous conditions
}

关于javascript - 函数运行所有条件,忽略当前变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14177439/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com