-1

我制作了这个脚本,但不喜欢工作。我测试了一个案例,一切都很好,但是当我进入切换模式时,鼠标停止它的检测,并在某个时间工作,并且动画同时在案例 1:和案例 2:...

function muovi(){
var caso = Math.floor((Math.random()*2)+1);
alert (caso);
switch(caso){
case 1:
//go on and stop to see me
$(".vola").css("background-image", "url(img/gif/sx.gif)");
$(".vola").animate({"left": "+=300px"}, 10000);
setTimeout(function(){$(".vola").css("background-image", "url(img/sprite/fr1.png)")}, 10001);  
setTimeout(function(){$(".vola").animate.stop()}, 10002);
case 2:
//go back and sto to see me
$(".vola").css("background-image", "url(img/gif/dx.gif)");
$(".vola").animate({"left": "-=300px"}, 10000);
setTimeout(function(){$(".vola").css("background-image", "url(img/sprite/fr1.png)")}, 10001);  
setTimeout(function(){$(".vola").animate.stop()}, 10002);
}
}

这是一个CSS:

.vola{
    background: url(img/sprite/sprite1dx.png);
    background-repeat: no-repeat;
    position: fixed;
    height: 61px;
    width: 31px;
    bottom: 10px;
    left: 0px;
}

而这个,htlm 有趣的地方:

... div class="vola" onClick"muovi();"> ... idk 是什么造成的,对我来说很难理解,因为 case1 和 case2 同时工作 O__O

4

1 回答 1

0

您的case陈述缺少break;s。

$(function(){

    $('div.vola').on('click', function(){
        return window.muovi();
    });

    window.muovi = function(){
        var caso = Math.floor((Math.random()*2)+1);
        alert (caso);
        switch(caso){
            case 1:
                //go on and stop to see me
                $(".vola").css("background-image", "url(img/gif/sx.gif)");
                $(".vola").animate({"left": "+=300px"}, 10000);
                setTimeout(function(){
                    $(".vola").css("background-image", "url(img/sprite/fr1.png)");
                }, 10001);
                setTimeout(function(){
                    $(".vola").stop();
                }, 10002);
            break;
            case 2:
                //go back and sto to see me
                $(".vola").css("background-image", "url(img/gif/dx.gif)");
                $(".vola").animate({
                    "left": "-=300px"
                }, 10000);
                setTimeout(function(){
                    $(".vola").css("background-image", "url(img/sprite/fr1.png)");
                }, 10001);
                setTimeout(function(){
                    $(".vola").stop();
                }, 10002);
            break;
            default:
                alert('Hello?');
        }
    }
});
于 2012-11-13T21:18:11.373 回答