jq动画设置图片抽奖(修改效果版)
效果:点击开始,图片转动,按钮显示"停止",点击停止,选出中奖号码,,最后一个数字停止时,按钮变为"again",点击"again"开始转动,与之前的下过略有不同.



CSS和html没有变化
修改了部分的js代码
<script type="text/javascript">
		  var u = 150;//ImageWidth
		  var c = '13345689090'
		  var btn = $(".btn");
		  btn.bind("click",function(){//给元素绑定点击事件
			    start();//调用函数
		  })
		  function start() {
			    var Html = btn.attr('id');
			    if(Html == "stop") {
				      stop(c);
				      btn.unbind("click");//移除绑定的事件
			    }else{
				      startRun();
				      btn.attr('id', 'stop');
			    }
		  }
  function startRun() {
			    $(".num").each(function(index) {
				    var _num1 = $(this);
				    if (index == 0) {//因为视觉效果上第一位数字速度较慢
					      index=2
				     }
				    _animate(_num1, u * 10 * (index + 1),1000)
			  })
  function _animate(el, backgroundPositionY, speed) {
				    el.animate({
					      backgroundPositionY: backgroundPositionY,
				    },{
					      complete: function() { //complete回调函数
					      speed: speed,
						      el.css({
							        backgroundPositionY: 0
						      });
						    _animate(el, backgroundPositionY, speed); //自身调用
					    }
				  }, "linear")
			  }
		  }
		  function stop(custNo) {
			    var num_arr = custNo.split('');
			    $(".num").each(function(index) {
				      var _num = $(this);
				      setTimeout(function() {
					      _num.stop(true,false); //停止动画
					      _num.animate({
						        backgroundPositionY: (u * 10 * (index + 1)) - (u * num_arr[index])
					      }, {
						      complete: function() {
							        if(index == 10) {
								          if(!_num.is(":animated")){
									          btn.attr('id', 'again');
									          btn.click(function(){
										            start();
										            btn.attr("id","stop");
									          })
								         }
							        }
						      }
					    }, 1000 * (index + 1),"linear");
				  }, 800 * index + 1000); //1000 (指定数据依次的出现速度) index + 100(控制点击停止之后,指定数据出现的时间)	
			  });
		}
	</script>
关于jq的动画ainmate的详解:
https://www.cnblogs.com/sntetwt/archive/2014/07/10/3835242.html
http://www.365mini.com/page/jquery-animate.htm
jq动画设置图片抽奖(修改效果版)的更多相关文章
- jq动画设置图片抽奖
		
(因为自己是前端刚入门的小白所以中间出现很多问题,不过这对于我来说就是一次经验的积累) 预想效果:点击"开始",图片循环旋转,不是同时的效果,而是有一定的时间差.点击"开 ...
 - 实现仿知乎的开场动画,图片zoomin的效果,实现原理,没加动效
		
知乎等应用的开场动画是:全屏显示一副图像,并以图像的中间为原点,实现放大(也就是zoomin)的动画,让等待的过程不再单调乏味. 最近不是很忙,因此想了下如何实现这种效果,方案是:采用调整imagev ...
 - CSS3动画:流彩文字效果+图片模糊效果+边框伸展效果实现
		
前言 首先第一步,先布局html代码如下: <div class="wrap"> <img src="images/1.jpg" class= ...
 - jq实现百度图片移入移出内容提示框上下左右移动的效果
		
闲来无聊,看到百度图片hover的时候提示框的效果,遂想试一试自己能否实现. 百度图片hover的效果: 需求: 1. 当鼠标从图片上部移入的时候,提示框从上部移到正常位置.从上部移出的时候,提示框从 ...
 - ios UIButton设置单选效果,以及同时设置图片和标题
		
一,设置单选效果 - (void)selectedBtnPress:(UIButton*)sender { //首先把原来按钮的选中效果消除 for (int i=0;i<num;i++) {/ ...
 - 个人学习JQ插件编写成果:little酷炫的图片滑动切换效果
		
工作一个多月了,好久没来冒冒泡了,看了@wayong的JQ插件教程,自己编写了一个模仿拉勾网首页广告栏滑动特效的JQ插件,现在跟朋友们分享分享! 先上demo链接:http://runjs.cn/de ...
 - PyQt5设置图片格式及动画
		
1.缩放图片'''使用QImage.Scale(width,height)方法可以来设置图片'''from PyQt5.QtCore import *from PyQt5.QtGui import * ...
 - UI设计篇·入门篇·简单动画的实现,透明动画/旋转动画/移动动画/缩放动画,混合动画效果的实现,为动画设置监听事件,自定义动画的方法
		
基本的动画构成共有四种:透明动画/旋转动画/移动动画/缩放动画. 配置动画的方式有两种,一种是直接使用代码来配置动画效果,另一种是使用xml文档配置动画效果 相比而言,用xml文档写出来的动画效果,写 ...
 - swift  设置图片动画组 iOS11之前 默认图片 设置不成功
		
在iOS 11 上, 1.先执行动画组 在设置图片执行帧动画,2.先设置图片在设置帧动画,执行帧动画 没有任何问题 在iOS 10和iOS9上,必须 执行 方法二(先设置图片在设置帧动画,执行帧动画 ...
 
随机推荐
- mac下常用命令
			
常用命令 ls 查看当前目录下的文件 cd 进入某目录 . cd - 跳转回前一目录 . cd ~ 进入当前用户个人目录 pwd 输出当前所在路径 mkdir 新建文件夹. touch 新建文件 fi ...
 - 7.2.4  else与if配对
			
规则是,如果没有花括号,else与离它最近的if匹配,除非最近的if被花括号括起来. 注意:要缩进"语句","语句"可以是一条简单语句或复合语句. 记住,编译器 ...
 - [练习-1] android studio 从Activity 进入 Fragment
			
从activity 进入到 fragment,使用系统自带的ListFragment 1,新建empty activity 2,新建Fragment(List) 3,activity_main.xml ...
 - mysql 下的update select from的两种方式比较
			
工作中遇到需要将一个表中的数据按照对应规则填入别的表中的情况 例如 表1 a a1 a2 11 90889 32 31241 12 52123 表2 b b1 b ...
 - Robot Framework安装及入门
			
1. 安装 所有安装文件存放在:\Robotsoft64位文件夹下 1) 安装python2.7.14 a) 双击执行python-2.7.14.msi b) 安装后更改环境变量,添加python的安 ...
 - 微慕-专业WordPress微信小程序
			
2018年9月,微慕小程序(以下简称微慕版)发布以来,一直想写一篇详细详细的说明文字,全面解读这套专业的WordPress小程序.昨天,又上线了一个稳定版本后,我才下决心,也更有信心,写点文字,向你推 ...
 - redmine2.5升级到3.4
			
第一.安装需要升级的版本 参考文档:https://www.cnblogs.com/panwenbin-logs/p/10174525.html 二.备份源数据 [root@localhost ~]# ...
 - key diff 在input上的踩坑
			
1.在react-native 遇到一个坑,希望的效果如下,同一个按钮,不同的状态下显示不同的input. 2.然后,在做的时候遇到了这样一个问题.输入我的姓名,点击下一步 3.问题出来了,输入框已经 ...
 - TreeMap中文排序,TreeMap倒序输出排列
			
1.TreeMap集合倒序排列 import java.util.Comparator; /** * 比较算法的类,比较器 * @author Administrator * */ public cl ...
 - python-web自动化-Js-日历操作
			
日历控件是web网站上经常会遇到的一个场景,有些输入框是可以直接输入日期的,有些不能:以12306网站为例,讲解如何解决日历控件为readonly属性的问题. 基本思路:先用js去掉readonly属 ...