




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第JS旋轉(zhuǎn)實(shí)現(xiàn)轉(zhuǎn)盤(pán)抽獎(jiǎng)效果本文實(shí)例為大家分享了JS旋轉(zhuǎn)實(shí)現(xiàn)轉(zhuǎn)盤(pán)抽獎(jiǎng)效果的具體代碼,供大家參考,具體內(nèi)容如下
閑來(lái)沒(méi)事,做了一個(gè)模擬轉(zhuǎn)盤(pán)抽獎(jiǎng)的HTMLJS的效果:
可以在設(shè)置的時(shí)候,選擇幾個(gè)區(qū)域,并且可以填寫(xiě)指針將要停止的區(qū)域
比如,我選擇了區(qū)域2,結(jié)果就是這樣
具體可以見(jiàn)下面的源碼:(注意,這里JQ文檔沒(méi)有貼出來(lái),需要自行引入)
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;
/*邊框是用來(lái)看旋轉(zhuǎn)的地方的*/
/*border:1pxsolidblack;*/
}
/style
!--引入jq1.8--
scriptsrc="js/jquery-1.8.3.js"type="text/javascript"charset="utf-8"/script
!--引入旋轉(zhuǎn)的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="選擇區(qū)域:1"οnclick="rotationDiv(1)"/
inputtype="button"value="選擇區(qū)域:2"οnclick="rotationDiv(2)"/
inputtype="button"value="選擇區(qū)域:3"οnclick="rotationDiv(3)"/
inputtype="button"value="選擇區(qū)域:4"οnclick="rotationDiv(4)"/
inputtype="button"value="選擇區(qū)域:5"οnclick="rotationDiv(5)"/
inputtype="button"value="選擇區(qū)域:6"οnclick="rotationDiv(6)"/
inputtype="button"value="選擇區(qū)域:7"οnclick="rotationDiv(7)"/
inputtype="button"value="選擇區(qū)域:8"οnclick="rotationDiv(8)"http://td
/tr
/table
/div
tablealign="center"
tr
tdcolspan="3"/td
/tr
tr
td
/td
td
divid="RotationDiv"imgsrc="img/timg.png"width="100%"http://div
/td
td/td
/tr
tr
tdcolspan="3"/td
/tr
/table
/body
/html
自己寫(xiě)的旋轉(zhuǎn)的JS文件:
/**
*@param{Object}indexID
想要旋轉(zhuǎn)的控件的id
*@param{Object}areaNum
區(qū)域的塊數(shù)
*@param{Object}wantToStop
想要停止的位置(塊號(hào))
*@param{Object}defaultTime
剛開(kāi)始勻速旋轉(zhuǎn)的時(shí)間
*@param{Object}chageTime
最后減速旋轉(zhuǎn)的時(shí)間
functionRotationIndex(indexID,areaNum,wantToStop,defaultTime,chageTime){
varstopAreaNum=0;//停在區(qū)域的名字?jǐn)?shù)
varareaArr=newArray(areaNum);
varangle=1;//每次旋轉(zhuǎn)角度
//
varrandomTime=Math.random()*1500;//隨機(jī)時(shí)間
varnowTime=0;//當(dāng)前時(shí)間,隨機(jī)起點(diǎn),讓停止來(lái)的更加真實(shí)
vardisTime=15;//時(shí)間差值,每15毫秒改變一次,基本上類(lèi)似于60Hz刷新頻率
vardisangle=13;//角度差值
varangle360=0;//用于記錄角度數(shù),360°范圍的
varUP=(1-((12/chageTime)*defaultTime));//定義一個(gè)函數(shù)uniformizingparameter
varIPFP=12*defaultTime+(12/chageTime)*defaultTime*defaultTime;//定義一個(gè)反比例函數(shù)的參數(shù)Inverseproportionalfunctionparameters
varmyIntervalInRotationIndex=window.setInterval(function(){
nowTime+=disTime;
//當(dāng)時(shí)間小于默認(rèn)時(shí)間時(shí)候
if((nowTime/1000)=defaultTime){
//勻速旋轉(zhuǎn)
}elseif((nowTime/1000)defaultTime(nowTime/1000)(defaultTime+chageTime)){
//當(dāng)時(shí)間大于默認(rèn)時(shí)間,開(kāi)始減速旋轉(zhuǎn)
disangle=UP+(IPFP/(nowTime/1000));
/**
*函數(shù)式為:
*UP+IPFP/t=h
*其中t為時(shí)間,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. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 醫(yī)療數(shù)據(jù)新紀(jì)元醫(yī)療信息共享平臺(tái)的建設(shè)與隱私保護(hù)
- 醫(yī)療行業(yè)運(yùn)維知識(shí)庫(kù)的大數(shù)據(jù)應(yīng)用前景
- 親子拓展心得體會(huì)模版
- 醫(yī)療大數(shù)據(jù)在診斷中的創(chuàng)新應(yīng)用
- 辦公室健康的守護(hù)者-精準(zhǔn)醫(yī)療嵌入式辦公技術(shù)
- 醫(yī)療團(tuán)隊(duì)在數(shù)字化時(shí)代的轉(zhuǎn)型發(fā)展
- 2025年幼兒園后勤工作總結(jié)模版
- 代加工月餅合同樣本
- 醫(yī)療設(shè)備追溯的區(qū)塊鏈技術(shù)應(yīng)用案例
- 傳媒公司拍攝合同標(biāo)準(zhǔn)文本
- GB/T 37507-2025項(xiàng)目、項(xiàng)目群和項(xiàng)目組合管理項(xiàng)目管理指南
- 2025年郵政社招筆試試題及答案
- 2025年保密觀知識(shí)測(cè)試題及答案
- 【MOOC】天文探秘-南京大學(xué) 中國(guó)大學(xué)慕課MOOC答案
- 三年級(jí)數(shù)學(xué)下冊(cè)《面積》練習(xí)試卷及答案
- 用人單位常見(jiàn)用工風(fēng)險(xiǎn)防范與應(yīng)對(duì)培訓(xùn)講義(PPT42張)課件
- 現(xiàn)場(chǎng)跟蹤審計(jì)工作要點(diǎn)
- 135調(diào)速器操縱手柄設(shè)計(jì)工藝卡片
- 《山東省消防條例》(2022年最新版)[1]
- T∕CVIA 73-2019 視覺(jué)疲勞測(cè)試與評(píng)價(jià)方法 第2部分:量表評(píng)價(jià)方法
- GB T 197-2018 普通螺紋 公差(高清版)
評(píng)論
0/150
提交評(píng)論