随机开关不工作



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

相关内容

  • 没有找到相关文章

最新更新