如何为按钮上的每次点击触发新事件。 如何将它带入循环中,因此在“单击3”之后它再次以“单击1”开始。
$('button').click(function () {
//click 1
cameraTween( camera.position, 1, 1, 1 );
//click 2
cameraTween( camera.position, 2, 2, 2 );
//click 3
cameraTween( camera.position, 3, 3, 3 );
});
答案 0 :(得分:2)
一种解决方案是通过.one
使用递归来创建泛型函数:
function LoopEvent(selector, event, calls /*array of functions*/) {
$(selector).one(event, function() {
// Execute Function
calls[0]();
// Send current function to the back of the array
calls.push(calls.shift());
// Attach next event
LoopEvent(selector, event, calls);
});
}
然后你可以这样称呼它:
LoopEvent("button", "click", [
function() { cameraTween( camera.position, 1, 1, 1 ); },
function() { cameraTween( camera.position, 2, 2, 2 ); },
function() { cameraTween( camera.position, 3, 3, 3 ); }
]);
<强> Example Fiddle 强>
答案 1 :(得分:1)
创建一个变量并在click
事件
var i = 1;
$('#myButton').click(function () {
if (i > 3)
i = 1;
cameraTween(camera.position, i, i, i);
i += 1;
});
答案 2 :(得分:0)
使用某个变量来保存点击次数,并使用开关根据此变量调用不同的事件。
答案 3 :(得分:0)
var x = 0;
$('button').click(function () {
x = x++;
if (x==1){cameraTween( camera.position, 1, 1, 1 );}
else{
if (x==2){cameraTween( camera.position, 2, 2, 2 );}
else{
cameraTween( camera.position, 3, 3, 3 );
}
}
});
答案 4 :(得分:0)
int x = 5;
for (int i = 1; i <= 10; i++)
{
Console.ResetColor();
if (x > 5)
{
Console.Write(new String(' ', x - 5));
}
if (i % 2 == 0)
{
Console.BackgroundColor = ConsoleColor.DarkYellow;
}
x = x + 1;
string str = "word";
Console.WriteLine(str);
}
Console.ReadLine();
答案 5 :(得分:0)
使用变量跟踪点击次数。
var clickCount = 1;
$('button').click(function () {
if(clickCount > 3) {
clickCount = 1;
}
cameraTween( camera.position, clickCount, clickCount, clickCount );
clickCount++;
});