解决基于JQ焦点图快速点击切换按钮图片显示错误的问题

之前用原生js做过焦点图,今天突然想用JQ做一下,但是遇到一个问题,当我不停点击切换按钮时,由于不停触发animate动画,导致图片显示错乱的问题,解决办法第一想到的就是点击切换后立刻解绑事件,然后动画函数运行完再添加事件,但是 ....用

$(‘.box‘).unbind(‘click‘);

  解绑后,再把原有事件添加回来却没有办法添加回来

$("button").bind("click",function(){
  //函数体
});

  这样?可是函数体里没法写 ,可能有办法写 但是越想越乱,后来想到一个更好的方法

添加一个flag监听变量,当click点击事件运行的前提是flag==true;事件运行中flag为false,这样就解决了这个问题 简单方便.. 上代码

var now=0;
		var flag=true;            //就是这里啦
		$(‘.prve‘).click(function(){
			if(flag){
				flag=false;
				now=parseInt($(‘ul‘).css(‘left‘));
				$(‘ul‘).animate({left:now+500+‘px‘},300,function(){
				now=parseInt($(‘ul‘).css(‘left‘));
				if(now>= 0){
					 $(‘ul‘).css(‘left‘,‘-2500px‘);
					}
				flag=true;     //在这
				});
			}
		})

  对了还有一点不能放在animate()方法的回调函数外,因为animate()动画执行完才能改变flag的值,放在外边会先执行外边的函数,在执行animate动画这样就会依然解决不了问题,关于执行顺序看下图

js是单线程的语言,所以总得有个顺序。

时间: 2024-12-26 18:17:55

解决基于JQ焦点图快速点击切换按钮图片显示错误的问题的相关文章

button点击切换背景图片的问题

我做了个UIButton的扩展,代码如下: #import <UIKit/UIKit.h> @interface CheckBoxButton : UIButton @property (nonatomic,assign) BOOL isChecked; @end 我通过下面代码来实现点击后切换图片,但是并不能达到效果 if (button.isChecked) { self.collectionButton.imageView.image = [UIImage imageNamed:@&qu

自动 点击切换 按钮切换 轮播无缝选项卡 ----原生js

1 <!doctype html> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 <meta name="author" content="智能社 - zhinengshe.com" /> 6 <meta name="copyright" content="智能社 - zhinengshe.com"

点击按钮显示隐藏层 和 切换按钮同时显示多个隐藏层

按钮点击显示隐藏层(再次点击按钮则隐藏层关闭): HTML部分: <button type="button" id="show" onclick="showHidden()">点我显示隐藏层</button> <div id="hidden" style="display:none">我是隐藏层.</div> JS部分: <script type='te

淡入淡出(折叠效果)and点击切换背景图片

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Typ

点击切换背景图片

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Typ

Thinkphp 3.2 验证码图片显示错误解决方法

在调用验证码之前加上 ob_clean(); 不显示验证码的代码: public function verify(){ $verify = new \Think\Verify(); $verify->entry(); } 复制代码 修改为: public function verify(){ ob_clean(); $verify = new \Think\Verify(); $verify->entry(); } 复制代码 这样的话,保存再刷新一次,验证码就出现了 分析: 1.ob_clea

element 点击切换按钮的颜色

1.html <el-button-group label="时间"> <el-button @click="seeHour" :type="buttonhour" >时</el-button> <el-button @click="seeDay" :type="buttonday" >天</el-button> <el-button @cl

超酷实用的jQuery焦点图赏析及源码

焦点图应用在现代网页中使用十分广泛,有注重简单小巧的,也有注重华丽美观的,大部分jQuery焦点图都可以滑动和切换图片,并且在切换图片时产生不同的动画特效.今天我们要分享一些超酷而且实用的jQuery焦点图插件,并分享它们的源代码. 1.jQuery多动画切换焦点图 之前我们已经分享过很多超酷的jQuery焦点图插件了,而且也都相当实用.今天我们要再来介绍一款可实现多种切换动画的jQuery焦点图,这款焦点图整体非常简单,左右两侧各有一个上一张和下一张的切换按钮.每张图片在切换时也都有各不相同的

Jquery焦点图实例

对于很多建站的朋友来讲,焦点图并不陌生,一般的企业站,门户站都会用到焦点图.我们平时在写html代码的时候,很多人为了省时省力,对于焦点图都是在网上下载一些人家写好的代码,直接套上去即可,很多时候我自己也是这样来的.因为一个焦点图有html布局,css样式调试和最关键的 javascript语句的编写.这些都是一个很麻烦的过程. 今天我就以实例讲解,手把手教你如何写Jquery焦点图.Jquery是js封装的框架,让js的语法变得简单,很多知名网站都在用这个框架.这里星仔为了语法的简单,让大部分