我正在使用jquery超级手势http://www.evanbot.com/article/super-gestures-jquery-plugin/22作为网站上的界面。
我希望我使用的每个手势都分配了一系列动作,例如:
当用户执行一次移动(比如向左移动鼠标)时,它会在div中淡入,并提示用户执行其他操作
当执行相同的动作时,它会在另一个div中消失,忘记它为该动作执行的最后一个动作。
这可能会持续下去,直到该特定动作的动作用完为止。然后我会将它应用于上,下,左,右,圆,之字形等一系列鼠标移动
我的问题是,如何让jQuery以这种方式完成一系列操作?
非常感谢提前。
答案 0 :(得分:0)
您可以使用javascript数组来保存要执行的操作队列
var queue = [];
queue.push(function() {
alert('hello world')
});
queue.push(function() {
alert('goodbye cruel world');
});
然后,当执行手势时,您可以使用
...
callback: function(gesture) {
if(0 == queue.length) {
...
} else if('circle-clockwise' == gesture) {
var fn = queue.shift(); // get the first element in queue
fn();
}
...
}
...
调用队列中的下一个动作。
注意:您可以将函数调用编写为queue.shift()();如果你想缩短的话。