这个是不可以的。
你是不是使用了setTimeout函数双线程运行函数,然后在运行该函数的时候,过快的重复进行 *** 作,然后便出现了运行错误呢?
这个现象我有一套解决方案,就是动态地改变触发,在setTimeout运行的那个自定义函数一开始,把相关的触发换为空,比如有一个onclik="fun()",那么在这个自定义函数中开始写上一行:XXXonclick=function(){}; 这样的话,就不会再被过快的 *** 作触发它了。然后要记得在这个自定义函数的末尾写是一行:XXXonclik=function(){fun()};才可以,否则一但运行一次之后,这个触发就再不存在了。
或许会有更好的办法来解决这个问题,但现在我一直没有找到。如果有后来的朋友能有更妙的招,我也在这里好好学习一下了。
如果你只是想让它提示正在运行,那么根据我上述的方法,也就有了解决方案。
我想,如果你只是想让它提示正在运行,而不用触发机制就提示相关的提示框的话,只要在这个函数的开始写上:alert('正在运行'); 就可以了。
如果你想通过点击等方法实现,比如用户过快地按这个按钮的话,你就可以不写那个空onclick函数,而是写上:XXXonclick = function(){alert('正在运行!')};,就把问题搞定了。
吼吼!
不知道我所说的是不是你正面临的问题,不过这个问题可是困扰了我好长时间,所以印象深刻,看到你的问题就首先猜到了这种情况,如果不是这个现象的话,欢迎把你的问题再清楚地描述一下,发个追问。
function indexOf(arr,item){
if(!arr || !(arr instanceof Array) || !item) return -1;
for(let i = 0; i < arrlength; i++){
if(arr[i] === item) return i;
}
return -1;
}
在一个js文件里面定义函数,比如function
a
(){}
然后在另一个js文件里面直接调用a();
但是在html中引入文件的时候,定义函数的那个js文件要在调用的那个js文件的前面引入
function sum(x, y){
return x + y;
}
用法示例:
alert(sum(1, 2));
alert(sum(1234, 5678));
alert(sum(215, -847));
JQuery中$()的功能很强大, 不过我们一般需要的就是根据id值获取对应的元素对象, 可以这样来实现:
my$ = function(s) {
return documentgetElementById(s);
}
当然, 可以在函数内针对不同的情况进行再处理 或则, 可以把JQuery的源代码下载下来研究研究, 你会有收获的
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)