这是我当前的jScript代码:
(修改后的STILL不起作用)
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,这就是教授至少说的)
谢谢你&lt; 3
答案 0 :(得分:1)
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/switch
switch-statement&#34;执行&#34;你的字符串(&#34; img / imgX.jpg&#34;)而不是返回它们,所以你可能想把开关放在一个函数中然后再做
case 1: return "img/img3.jpg";
...
并且请记住,switch语句的每个case都必须以break结束,否则以下case
- Blocks也将被执行!
答案 1 :(得分:0)
你的函数返回一个整数,而你的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";
}
}