jQuery按链接x次,然后这样做
jQuery press link x times then do this?
我有一个链接,我加载一个特定的div,但我希望它加载另一个div,如果我按下它的第三次。如何做到这一点?
我猜你会做一些事情,比如定义一个变量为0,当它为3时,做一些其他的事情。我知道如何在PHP中做这些很简单的事情,但真的没有很好的jQuery经验。
基本的,我想要的是这样的:点击,点击,点击(新功能)
这是我当前的js代码:
$(".nav").click(function(e){
e.preventDefault();
$.get(this.href, function(data) {
$(this).html(data).fadeIn("fast");
});
});
如果有单个div,只需声明一个全局变量,如var counter = 0;
,然后在代码增量计数器中单击事件counter++
并检查它是否为3,如果它为3,则执行类似if(counter == 3) { /*your action*/ }
的操作
另一个解决方案可能是.toggle()
[docs]函数:
$(".nav").toggle(handlerA, handlerA, handlerB);
,其中handlerA
是第一次单击时要执行的函数的引用,handlerB
是第三次单击时要执行的函数。
如果没有必要,就不要使用全局变量。其他语言有static
变量;然而,javascript没有。Javascript确实有一些非常相似的东西。我建议您使用更像这样的方法,并在函数内部使用可以poyrazoglu建议的if
语句。
的例子解释如何做到这一点的最简单方法是用一个例子。下面的示例函数名为"foo",它有一个名为"counter"的静态变量。每次调用该变量时,该变量将递增并写入文档。
function foo() {
if( typeof foo.counter == 'undefined' ) {
foo.counter = 0;
}
foo.counter++;
document.write(foo.counter+"<br />");
}
当foo()第一次被调用时,foo。计数器尚未定义。上面示例函数的第一行检查它是否还没有定义,如果没有,则用一个值初始化它。
像这样多次调用foo():
foo();
foo();
foo();
foo();
会将以下内容写入文档:
1
2
3
4
本页示例:http://www.electrictoolbox.com/javascript-static-variables/
- 页面在我的javascript执行后重新加载,我不希望它这样做
- 如何在将鼠标悬停在提交/锚点上时检查复选框是否已选中,并显示提示用户这样做的警报
- JavaScript 如果数组包含名称,则不要这样做
- 我用脚本创建了一个按钮.我可以通过点击按钮调用其他函数吗?我这样做,但失败了
- Jquery语法;也这样做”;
- 如果我不这样做会发生什么;t在javascript中的变量中分配新的Image
- 如果他们不这样做,就从我的数组中删除东西't没有前缀
- 如何使用“;这个“;在javascript中?这样做的目的是什么
- 如果我不这样做会发生什么;t有页码吗?继续循环帖子..为什么需要分页,对于页脚
- 禁用 ALT+F4,是的,我知道不建议这样做
- 使用默认值定义构造函数.我这样做对吗?
- 我刚刚开始使用 MEAN 堆栈.我试图将我的表单提交数据存储到 mongo 数据库,但我无法这样做
- 为什么不这样做
- Node.JS/Javascript - 将字符串转换为整数正在返回 NaN,而我不希望它这样做
- 在angularjs中拥有$sce或严格上下文转义有什么好处,为什么反应不需要这样做
- 如何分解此代码以减少重复(以及应该这样做)
- 嵌套的 if/else 语句讨论了分配变量.我已经这样做了,但它仍然不起作用
- blur() 无法以编程方式工作 |但在从用户启动时会这样做
- Webkit 似乎不支持层上的 $.focus(),而 IE9 支持.无论如何,让webkit浏览器也这样做
- jQuery按链接x次,然后这样做