我正在使用Javascript / jQuery进行一些初学者编码并遇到问题。长话短说:
我尝试使用setInterval()/ clearInterval(),但没有成功。
请帮帮我:)。
P.S。:一种方法是使用新代码重新加载页面,但不适合我的情况。
UPD:
var select = function() {
/*once called this function should enable clicks on <td>
toggling its class to yellow and once both cells are yellow
clicking should be disabled*/
};
$(document).ready(function(){
$("button[name=start]").click(function(){
select();
});
});
http://jsfiddle.net/superiorbanana/Z53EU/。希望这一小段代码能够澄清这个想法。
答案 0 :(得分:1)
只需存储变量中的点击次数,然后使用javascript进行检查即可。像这样:
var x = 0;
$('#button').click(function(){
x++;
if (x == 5) {
alert("hello");
}
});
答案 1 :(得分:1)
我不确定你是否在寻找这个,
<强> HTML 强>
<span class="one">click disabled</span>
<br/>
<span class="two">enable click</span>
<强> jquery的强>
var count=0;
$(".two").click(function(){
$(".one").text("click enabled");
$(".one").click(function(){
count++;
if(count==5)
{
$(".one").text("click disabled");
$(".one").off("click");
}
alert("click enabled");
});
});
在上面的代码中,单击第一个跨度的单击事件将不会触发,直到单击第二个跨度为止。仅在单击第二个跨度后绑定第一个跨度的单击事件。
还有一个点击计数器。当计数器达到限制时,将使用off()
答案 2 :(得分:1)
使用on
绑定点击处理程序,然后在完成后将其设为off
。因此,在您的情况下,您可以在触发后立即关闭点击处理程序。例如:
$(document).ready(function () {
var $tds = $('td'), // store td's
count = $tds.length; // store # of td's
$("button[name=start]").on('click', function (e) {
// pass `e` so that it can be used to turn itself off
$(this).off(e); // this function won't execute again
// bind td clicking after button's clicked
$tds.on('click', function (e) {
$(this).addClass('clicked').off(e); // executed once per td
// the if statement and the count is actually
// not necessary; it's just to demonstrate
// that all the click handlers have ended.
count--; // count - 1
if (count === 0) {
console.log('there are no more click handlers');
}
});
});
});
$(document).ready(function () {
$("button[name=start]").on('click', function (e) {
$(this).off(e);
$('td').on('click', function (e) {
$(this).addClass('clicked').off(e);
});
});
});
查看jsfiddle上的代码。
答案 3 :(得分:0)
您应该在开头设置事件侦听器以侦听该元素上的任何click事件。
一旦调用特定功能,它应该等到n次点击;
“特定功能”可以将变量设置为“true”,之前为false。这就是click事件侦听器正在等待的内容。一旦变量为真,计数器变量就可以计算点击次数
n次点击;
计数器达到所需的点击次数后,您可以执行任何操作:
if(counter === n) {
executeMe();
counter = 0;
}
如果间隔始终相同,您也可以使用“mod”。