随机切换不工作

时间:2014-03-24 22:50:38

标签: javascript html css input

这是我当前的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

2 个答案:

答案 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";
    }

}