function showimg(){
var clicktimes = 0;
$(document).click(
function(){
if (clicktimes == 0) {$("#dou").show(2000);};
clicktimes = 1;
return;
},
function(){
if (clicktimes == 1) {$("#bi").show(2000);};
clicktimes = 2;
return;
},
function(){
if (clicktimes == 2) {$("#text_1").show(2000);};
clicktimes = 3;
return;
},
function(){
if (clicktimes == 3) {$("#text_2").show(2000);};
clicktimes = 4;
return;
},
function(){
if (clicktimes == 4) {$("#text_2").show(2000);};
clicktimes = 5;
return;
}
)
}
如何让其多次点击发生的事件不一样呢
function showimg() {
var clicktimes = 0,//记录单击次数
ids = ['#dou', '#bi', '#text_1', '#text_2', '#text_3'];//不同的次数对应的不同的id
$(document).click(function() {
var target = ids[clicktimes++];//从列表中取一个
if (target) {//如果有的话
$(target).show(2000);//显示
}
});
}
function showimg(){
var clicktimes = 0;
var els=['#dou','#bi','#text_1','#text_2'];
$(document).click(function () {
$(els[clicktimes++]).show(2000);
});
}
你可以在一个函数的内部进行判断啊
你可以使用one只绑定一个方法,在第一个方法执行完成的时候使用one绑定第三个,依次内推就好了
你的代码都写成这样了,为什么不找找其它的解决方案
? 如果你实在是写不优雅,可以看jquery
的dbclick
事件。
把5个函数的顺序倒过来写,先写4的、再写3的、……最后写0的
一般我是这样解决的。比如:
先假设或者手动在document DOM上绑定一个自定义属性data-idx="0",默认为你上述定义变量值。
$(function() {
$(document).on('click', function() {
var idx = $(this).data('idx');
if(!idx || idx == 0) {
...你要做的操作
$(this).data('idx', (idx + 1));
}else if(idx == 1) {
...你要做的操作
$(this).data('idx', (idx + 1));
}else if(...) {
...
}
});
});
评论编辑器中编写,代码未测试!逻辑是这样哈