javascript - jquery中的toggle切换事件是怎么实现的?
天蓬老师
天蓬老师 2017-04-11 12:19:17
0
3
477

想了解jquery1.9版本之前中有一个toggle方法可以实现为一个元素绑定多个点击事件,每一次点击触发不同事件的实现方法。我有一个思路是记录点击次数,然后根据不同的点击次数,返回不同的事件实现。不知道有没有更好的方法。

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

全部回复(3)
迷茫

这是源码,源码找半天。。

小葫芦

使用jquery._data缓存下一次执行的函数,toggle多次点击执行不同的事件一般是这样写的

$('#example').toggle(function() {
    // 事件1       
}, function() {
    // 事件2
});

如何计算执行那个函数

var lastToggle = (jQuery._data(this, "lastToggle" + fn.guid) || 0)%i;

第一次点击,lastToggle = 0 % 2 = 0,执行第一个函数

然后缓存下一次应该执行哪一个

jQuery._data(this, "lastToggle" + fn.guid, lastToggle+1)

第二次点击,lastToggle = 1 % 2 = 1,执行第二个函数

第三次点击,lastToggle = 2 % 2 = 0,执行第一个函数

第四次点击,lastToggle = 1 % 2 = 1,执行第二个函数

以此类推。。。

源代码可以自己下载jquery源码查看

PHPzhong

定义一个变量var a=0;
每一次占击时a++;
当点击次数达到某个值时执行操作if(a=n){dosomething}
处理完dosomething后将a置为0

按这个思路来,不过跟toggle应该没什么关系。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!