0

我试图了解如何运行一个函数,然后运行第二个函数......然后返回到原来的函数。(一个循环?)

正如您在我的小提琴中看到的那样:......我试图让这个家伙在 click 上正确行走,当第二次点击时,他会回到原来的位置。第三次单击时,我希望他继续模式....(例如,右,左,右,左...)

这是针对我正在开发的点击式游戏(学习 jquery/javascript 的目标 [动机])。

感谢您对此的帮助和耐心。抱歉,n00b 代码...

$(document).ready(function() {
    $(".img").one("click", function() {
        $(".img").attr('src', "http://www.kolbaba.com/uploads/jsfiddle/tempImgs/walking.gif");
        $(".img").animate({
            "left": "+=300px"
        }, 1000, function() {
            $(".img").attr('src', "http://www.kolbaba.com/uploads/jsfiddle/tempImgs/standing.gif");
            $(".img").click(function() {
                $(".img").attr('src', "http://www.kolbaba.com/uploads/jsfiddle/tempImgs/walkingLeft.gif");
                $(".img").animate({
                    "left": "-=300px"
                }, 1000, function() {
                    $(".img").attr('src', "http://www.kolbaba.com/uploads/jsfiddle/tempImgs/standing.gif");
                    event.preventDefault();
                });
            });
        });
    });
});
4

2 回答 2

3

使用.toggle(),

所以你的代码看起来像这样,

$(".img").toggle(function(){

    //Code to go right

}, function(){

    //Code to go left

});

阅读.toggle()

于 2012-12-12T07:01:33.407 回答
1

Toggle 很好,它也可以工作,我做了一个简单的演示

但是我为那些不想使用切换的人找到了另一种解决方案。我知道切换使用很耗时,但我想在这里分享它。

$(document).ready(function(){
var count=1
    $(".img").click("click", function(){

    count=count+1;
if(count%2==0)
{

$(".img").attr('src',"http://www.kolbaba.com/uploads/jsfiddle/tempImgs/walking.gif");
    $(".img").animate({"left": "+=300px"}, 1000, function() {



        $(".img").attr('src',"http://www.kolbaba.com/uploads/jsfiddle/tempImgs/standing.gif");
    });
}
else
{

$(".img").attr('src',"http://www.kolbaba.com/uploads/jsfiddle/tempImgs/walkingLeft.gif");
              $(".img").animate({"left": "-=300px"}, 1000, function() {
            $(".img").attr('src',"http://www.kolbaba.com/uploads/jsfiddle/tempImgs/standing.gif");
              });
}


    });

});

于 2012-12-12T10:15:17.590 回答