分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 前端开发

lockable JS function,解锁操作之前,不能重复操作

发布时间:2023-09-06 01:14责任编辑:彭小芳关键词:暂无标签
 ???????(function () { ???????????var ed = []; ???????????window.Lockable = function (lockF, options) { ???????????????if (!arguments.length) { ???????????????????var caller = arguments.callee.caller; ???????????????????if (ed.indexOf(caller) === -1) { ???????????????????????ed.push(caller); ???????????????????????caller.unlock = function () { ???????????????????????????ed.splice(ed.indexOf(caller), 1); ???????????????????????}; ???????????????????????return; ???????????????????} ???????????????????return true; ???????????????} ???????????????var empty = function () { }, ???????????????????on = options && options.on || empty, ???????????????????off = options && options.off || empty, ???????????????????repeat = options && options.repeat || empty, ???????????????????ing, ???????????????????ri = 1; ???????????????if (typeof options === "function") { ???????????????????off = options; ???????????????} ???????????????var f = function () { ???????????????????"use strick" ???????????????????if (ing) { ???????????????????????repeat(ri++); ???????????????????????return; ???????????????????} ???????????????????if (on()) { ???????????????????????ing = false; ???????????????????????return; ???????????????????} ???????????????????var r = lockF.apply(this, arguments); ???????????????????if (typeof r === "undefined") { ???????????????????????ing = true; ???????????????????} else { ???????????????????????ing = !!r; ???????????????????} ???????????????}; ???????????????f.unlock = function () { ???????????????????ing = false; ???????????????????off.apply(arguments); ???????????????}; ???????????????return f; ???????????} ???????})();

使用方法:

var functionName = Lockable(function(){  //needs long time.  functionName.unlock();});setInterval(functionName, 111);

或者:

function fn(){ ???if(Lockable()) { ???????return; ???} ???//needs long time ???fn.unlock();}
setInterval(fn, 111);
 

lockable JS function,解锁操作之前,不能重复操作

原文地址:http://www.cnblogs.com/ly45/p/7598053.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved