




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第JS旋转实现转盘抽奖效果本文实例为大家分享了JS旋转实现转盘抽奖效果的具体代码,供大家参考,具体内容如下
闲来没事,做了一个模拟转盘抽奖的HTMLJS的效果:
可以在设置的时候,选择几个区域,并且可以填写指针将要停止的区域
比如,我选择了区域2,结果就是这样
具体可以见下面的源码:(注意,这里JQ文档没有贴出来,需要自行引入)
HTML文件:
!DOCTYPEhtml
html
head
metacharset="utf-8"/
title/title
style
#RotationDiv{
/*初始化界面,让指针朝上*/
transform:rotate(180deg);
-ms-transform:rotate(180deg);
-moz-transform:rotate(180deg);
-webkit-transform:rotate(180deg);
-o-transform:rotate(180deg);
width:60px;
height:85px;
/*边框是用来看旋转的地方的*/
/*border:1pxsolidblack;*/
}
/style
!--引入jq1.8--
scriptsrc="js/jquery-1.8.3.js"type="text/javascript"charset="utf-8"/script
!--引入旋转的js--
scriptsrc="js/rotation-index.js"type="text/javascript"charset="utf-8"/script
scripttype="text/javascript"
functionrotationDiv(num){
RotationIndex("RotationDiv",8,num,4,5)
}
/script
/head
body
div
tablealign="center"
tr
tdinputtype="button"value="选择区域:1"οnclick="rotationDiv(1)"/
inputtype="button"value="选择区域:2"οnclick="rotationDiv(2)"/
inputtype="button"value="选择区域:3"οnclick="rotationDiv(3)"/
inputtype="button"value="选择区域:4"οnclick="rotationDiv(4)"/
inputtype="button"value="选择区域:5"οnclick="rotationDiv(5)"/
inputtype="button"value="选择区域:6"οnclick="rotationDiv(6)"/
inputtype="button"value="选择区域:7"οnclick="rotationDiv(7)"/
inputtype="button"value="选择区域:8"οnclick="rotationDiv(8)"//td
/tr
/table
/div
tablealign="center"
tr
tdcolspan="3"/td
/tr
tr
td
/td
td
divid="RotationDiv"imgsrc="img/timg.png"width="100%"//div
/td
td/td
/tr
tr
tdcolspan="3"/td
/tr
/table
/body
/html
自己写的旋转的JS文件:
/**
*@param{Object}indexID
想要旋转的控件的id
*@param{Object}areaNum
区域的块数
*@param{Object}wantToStop
想要停止的位置(块号)
*@param{Object}defaultTime
刚开始匀速旋转的时间
*@param{Object}chageTime
最后减速旋转的时间
functionRotationIndex(indexID,areaNum,wantToStop,defaultTime,chageTime){
varstopAreaNum=0;//停在区域的名字数
varareaArr=newArray(areaNum);
varangle=1;//每次旋转角度
//
varrandomTime=Math.random()*1500;//随机时间
varnowTime=0;//当前时间,随机起点,让停止来的更加真实
vardisTime=15;//时间差值,每15毫秒改变一次,基本上类似于60Hz刷新频率
vardisangle=13;//角度差值
varangle360=0;//用于记录角度数,360°范围的
varUP=(1-((12/chageTime)*defaultTime));//定义一个函数uniformizingparameter
varIPFP=12*defaultTime+(12/chageTime)*defaultTime*defaultTime;//定义一个反比例函数的参数Inverseproportionalfunctionparameters
varmyIntervalInRotationIndex=window.setInterval(function(){
nowTime+=disTime;
//当时间小于默认时间时候
if((nowTime/1000)=defaultTime){
//匀速旋转
}elseif((nowTime/1000)defaultTime(nowTime/1000)(defaultTime+chageTime)){
//当时间大于默认时间,开始减速旋转
disangle=UP+(IPFP/(nowTime/1000));
/**
*函数式为:
*UP+IPFP/t=h
*其中t为时间,h为角度
*
*/
}else{
angle360=angle%360;
stopAreaNum=angle360/(360/areaNum);
if(stopAreaNum=(wantToStop-1.5)){
disangle=0.3;
}elseif(stopAreaNum=(wantToStop-1)){
disangle=0.5;
}else{
disangle=0.8;
}
if(stopAreaNum=(wantToStop-0.8)stopAreaNum=wantToStop){
window.clearInterval(myIntervalInRotationIndex);
}
}
angle360=angle%360;
angle+=disangle;
$("#"+indexID).attr("style","transform:rotate("+ang
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 酒店经营租赁合同
- 物业服务停车合同
- 车辆担保借款合同
- 智能物流管理系统路线规划优化技术服务合同
- 补充合同标准样书5篇
- 济宁百货公司拆除合同9篇
- 合同样本临时工聘用合同5篇
- 福建艺术职业学院《建筑美术色彩》2023-2024学年第二学期期末试卷
- 烟台南山学院《数据库管理系统(VF)》2023-2024学年第二学期期末试卷
- 2025年精密箱体系统合作协议书
- 小小科学家《生物》模拟试卷A(附答案)
- 《康复医学》第一章第一节
- 论文联想与想象在语文教学中的应用及培养
- 2020年10月自考00152组织行为学试题及答案
- 食品营养与安全学智慧树知到答案章节测试2023年信阳农林学院
- 《森林培育学》考博复习资料
- DCF-现金流贴现模型-Excel模版(dcf-估值模型)
- 甘肃敦煌莫高窟简介
- GB/T 1839-2008钢产品镀锌层质量试验方法
- 制冷空调管件的焊接与质量控制
- 科技公司外部涉密信息导入涉密计算机审批表
评论
0/150
提交评论