今天,在帮组里做一个bottom navigation(底部的导航条),样式如下:
单击不会产生任何问题,快速单击两次可能就有问题了。为了解决这个问题,查了一下网上的资料。知道为了防止快速双击所产生的问题,必须要想办法“屏蔽”连续双击中的一次。如果双击,我们可以只是忽略后面一次单击。JS window的 setTimeout(function(){},**ms) 和 clearTimeout(var timer) 派上了用场。
- var click=0;
-
- $("span.showbar a").click(function() {
- click++;
- if(click===1){
- var timeout_2=window.setTimeout(function(){
- $('#toolbar').slideToggle('slow');$('#toolbarbut').fadeOut('fast');click=0;},500);
- }else{
- window.clearTimeout(timeout_2);
- click=0;
- }
- });
如果在500ms内,就产生了第二次点击,那么第二次点击我们不做处理,直接触发执行第一次的
处理函数。clearTimeout的意思就是“不要延迟,直接执行了”。
这样子,就解决了问题。:)