1

我需要帮助来改变玩家的回合。

    var player = 'RED';

    $(function() {

    $(whosturn(player)).draggable({
        revert: true,
        stop: {
            player = 'BLUE';
    }
    });
    });


    function whosturn(player) {
        if(player == 'RED') {
            return '.red';
        } else if(player == 'BLUE') {
            return '.blue';
        }
    }

这是 jsFiddle的链接。

当可拖动停止时,播放器将其值更改为蓝色,因此当我拖动“拖动我蓝色”时,它不会被拖动。我认为程序只使用变量的第一个值。对不起一些错误的语法。提前致谢。

4

1 回答 1

1

尝试这个:

将您的代码更改为:

var player = 'RED';

function bindDrag(){

  $(whosturn(player)).draggable({
    revert: true,
    stop: function() {
        player = 'BLUE';
        bindDrag();
      }
  });
}

$(function() { 
    bindDrag();   
});

function whosturn(player) {
    if(player == 'RED') {
        return '.red';
    } else if(player == 'BLUE') {
        return '.blue';
    }
}

在这里工作小提琴:http: //jsfiddle.net/euTwT/3/

我希望它有所帮助。

于 2013-09-10T07:26:50.687 回答