这是我当前的jScript代码:
(修改后仍然不起作用)
function changeBG(){
document.getElementById('imgbox').src = switch(eval(rand())){
case 1: "img/img3.jpg";
break;
case 2: "img/img2.jpg";
break;
case 3: "img/img3.jpg";
break;
case 4: "img/img4.jpg";
break;
case 5: "img/img5.jpg";
break;
default: "img/background.jpg";
break;
}
}
function rand(){
return (Math.ceil((Math.random()*10)/2));
}
我的HTML:
<input id="BGchange" type="button" onclick="changeBG()" value=">"/>
如果我这样做:
document.getElementById('imgbox').src = "img/img1.jpg";
它只是工作:我点击我的按钮,图像改变,没有问题。事实是,我希望图像更改为随机之间的5每次点击按钮;为了做到这一点,我想使用一个开关,里面有一个随机的选择。
我的代码有什么问题吗?:(我不会用jQuery之类的东西,只会用纯javascript、html和css,至少教授是这么说的)
Thank you <3
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/switch
开关语句"执行"你的字符串("img/imgX.jpg")而不是返回它们,所以你可能想把开关放在一个函数中,然后执行
case 1: return "img/img3.jpg";
...
并且记住,每个switch语句必须以break结束,否则下面的case
- block也将被执行!
你的函数返回一个整数,而你的switch case正在寻找一个字符串。
从开关箱中删除引号,一切都应该工作。
function changeBG(){
document.getElementById('imgbox').src = switch(rand()){
case 1: "img/img3.jpg";
break;
case 2: "img/img2.jpg";
break;
case 3: "img/img3.jpg";
break;
case 4: "img/img4.jpg";
break;
case 5: "img/img5.jpg";
break;
default: "img/background.jpg";
}
}