亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

基于javascript實現按圓形排列DIV元素(二)

2019-11-19 18:43:04
字體:
來源:轉載
供稿:網友

一、原理分析

  1.1怎么才能讓DIV元素動起來?

  動起來的實質,就是改變DIV的位置,也就是改變其left和top值;

  2.2怎么上DIV元素動起來的時候,是在規定的圓周上面?

  通過上一次的分析,讓DIV按圓形排隊,我們知道了,如要讓DIV定位在圓周上面,主要是根據角度(弧度)來實現的。

  看下圖:

上圖中,我們B元素和C元素的定位是如何實現的?根據上一次講的公式,如下:

(index:元素的索引值,radius半徑,dotLeft:圓心的橫坐標,dotTop:圓心的縱坐標)

B的left = Math.sin((ahd*Bindex))*radius+dotLeftB的top = Math.cos((ahd*Bindex))*radius+dotTopC的left = Math.sin((ahd*Cindex))*radius+dotLeftC的top = Math.cos((ahd*Cindex))*radius+dotTop

從公式中可以看出,都一樣,只是B和C的index,即索引值不一樣,從而讓角度(弧度)數不一樣,結果就是正弦和余弦的值不一樣,所以定位也就不一樣了,但結果都是在這個圓周上變化。不會跑離這個圓周;

如果我現在想讓B元素,定位到C元素的位置,該怎么做呢?

就是讓B元素的角度(弧度)和C元素的一樣,然后,套用上面的公式,就可以了。

B元素的現在的用的圓心角,是AOB,C元素用的圓心角,是AOC;  B元素和C元素之間相差了上圖中BOC這個角度(弧度)值,也就是兩個藍色線條之間的角度(弧度);

得出結論:改變角度(弧度)就可以讓元素在圓周上改變位置;

二、實例分析

根據上面的分析,我們已經知道如何在圓周上,改變DIV的位了;現在我們要做的就是怎么去改變才能讓元素看起來是在運動?

是“速度”;有運動就會有速度

速度就是在規定時間內移動的距離:速度 = 距離/時間

速度太快就是“瞬間移動”讓B移動到C;

速度慢,就可以看到B一點點向C的位置移動;

時間:在Javascript里的時間:就是用的setInterval(....,時間) 

例如:setInterval(移動,1000)  我們規定間隔1000毫秒,讓元素做移動。

在本例中的移動:就是改變DVI的left和TOP值,而要改變這個值,需要用到上面的圓周上移動的公式;

速度:設一個速度 speed = 5;

這里的5,就是角度,即讓圓心角,每1000毫秒,變化5度。

speed =  speed*Math.PI/180;將這個變化的角度轉換成弧度,因為Math.sin只接受弧度單位的參數;

得出:

function 移動(){  speed ++  left = Math.sin((ahd*Bindex+speed ))*radius+dotLeft;  Math.cos((ahd*Bindex+speed))*radius+dotTop}

三、實現代碼:

$(function(){ //中心點橫坐標 var dotLeft = ($(".container").width()-$(".dot").width())/2; //中心點縱坐標 var dotTop = ($(".container").height()-$(".dot").height())/2; //起始角度 var stard = 0; //半徑 var radius = 200; //每一個BOX對應的角度; var avd = 360/$(".box").length; //每一個BOX對應的弧度; var ahd = avd*Math.PI/180; //運動的速度 var speed = 2; //設置圓的中心點的位置 $(".dot").css({"left":dotLeft,"top":dotTop}); //設置DIV圓形排列 $(".box").each(function(index, element){ $(this).css({"left":Math.sin((ahd*index))*radius+dotLeft,"top":Math.cos((ahd*index))*radius+dotTop}); }); //運動函數 var fun_animat = function(){  speed = speed<360?speed:2;  //運運的速度 speed+=2; //運動距離,即運動的弧度數; var ainhd = speed*Math.PI/180;  //按速度來定位DIV元素 $(".box").each(function(index, element){ $(this).css({"left":Math.sin((ahd*index+ainhd))*radius+dotLeft,"top":Math.cos((ahd*index+ainhd))*radius+dotTop}); }); } //定時調用運動函數 var setAnimate = setInterval(fun_animat,100); })

    其實也可以反過來思考,即每1000毫秒,我們獲得圓周上的一個坐標點,將這個點的left和TOP值,賦給,需要改變位置,即運動的DIV元素!~~

以上就是本文的全部內容,希望對大家有所幫助,有興趣的朋友可以參考文章《基于javascript實現按圓形排列DIV元素(一)》《基于javascript實現按圓形排列DIV元素(三)》,謝謝對武林網的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品va在线播放我和闺蜜| 日韩精品福利网站| 最近2019年手机中文字幕| 久久久久久国产精品| 久久91精品国产91久久跳| 欧洲s码亚洲m码精品一区| 欧美性生交大片免费| 日韩精品中文字幕在线播放| 亚洲free嫩bbb| 成人a级免费视频| 欧美极品在线视频| 奇米一区二区三区四区久久| 一本久久综合亚洲鲁鲁| 26uuu另类亚洲欧美日本老年| 欧美精品久久久久久久| 国产精品看片资源| 亚洲人精选亚洲人成在线| 欧美中文字幕第一页| 欧美成人免费全部观看天天性色| 亚洲大胆人体在线| 欧美成人精品一区| 成人网在线观看| 欧美性视频在线| 欧美视频在线免费| 亚洲第一精品夜夜躁人人爽| 91美女高潮出水| 亚洲欧洲午夜一线一品| 欧美国产日韩xxxxx| 北条麻妃在线一区二区| 久久好看免费视频| 亚洲аv电影天堂网| 欧美精品videosex极品1| 久久久国产精品x99av| 国产欧美精品xxxx另类| 欧美日韩国产中文字幕| 国产精品99久久久久久久久久久久| 国产精品亚洲综合天堂夜夜| 国产精品色视频| 色妞色视频一区二区三区四区| 日韩最新中文字幕电影免费看| 久久中文精品视频| 日韩欧美精品免费在线| 国产精品三级美女白浆呻吟| 日韩资源在线观看| 欧洲成人在线视频| 91麻豆桃色免费看| 中文字幕精品www乱入免费视频| 68精品久久久久久欧美| 国产精品第一第二| 按摩亚洲人久久| 国产一区二区三区视频在线观看| 亚洲影视中文字幕| 深夜福利国产精品| 4p变态网欧美系列| 国产一区二区在线免费视频| 亚洲国产精品资源| 欧美专区在线观看| 欧美激情视频免费观看| 欧美精品在线观看91| 久久亚洲精品中文字幕冲田杏梨| 91av视频在线免费观看| 国产在线不卡精品| 日韩在线视频免费观看高清中文| 久久精品亚洲热| 亚洲成人av资源网| 国产欧美一区二区三区在线看| 亚洲成人精品在线| 欧美www视频在线观看| 久久久久久亚洲精品不卡| 国产精品久久久久久久久久新婚| 久久久av一区| 91精品国产91久久久| 精品美女久久久久久免费| 51ⅴ精品国产91久久久久久| 日本一区二三区好的精华液| 神马久久久久久| 日韩中文字幕在线视频| 精品久久久香蕉免费精品视频| 日韩欧美在线看| 亚洲天堂免费视频| 4438全国成人免费| 成人黄色免费网站在线观看| 欧美大肥婆大肥bbbbb| 成人欧美一区二区三区黑人孕妇| 日本高清不卡的在线| 国产精品流白浆视频| 亚洲影院高清在线| 亚洲国产欧美一区二区三区久久| 国产美女直播视频一区| 亚洲精品自拍视频| 欧美在线视频一二三| 韩国精品久久久999| 中文字幕在线国产精品| 日韩av最新在线| 欧美国产日韩在线| 97人人模人人爽人人喊中文字| 亚洲色在线视频| 色哟哟亚洲精品一区二区| 久久亚洲一区二区三区四区五区高| 久久久久国产视频| 亚洲免费视频观看| 色琪琪综合男人的天堂aⅴ视频| 日韩在线播放一区| 亚洲天堂成人在线视频| 亚洲男人7777| 亚洲欧洲激情在线| 亚洲成色777777女色窝| 久久综合伊人77777| 久久久国产精品一区| 亚洲国产欧美精品| 国产精品色午夜在线观看| 97久久超碰福利国产精品…| 97久久精品视频| 国产精品久久视频| 在线精品视频视频中文字幕| 久久精品一偷一偷国产| 亚洲性生活视频在线观看| 欧美激情网站在线观看| 中文字幕最新精品| 国产玖玖精品视频| 日韩亚洲欧美成人| 午夜欧美不卡精品aaaaa| 91在线免费视频| 午夜精品久久久久久久久久久久久| 久久久亚洲精品视频| 日韩精品在线免费播放| 91在线观看欧美日韩| 2019中文字幕全在线观看| 亚洲第一男人天堂| 久久精品视频导航| 日本欧美黄网站| 精品日韩美女的视频高清| 欧美日韩中文字幕日韩欧美| 欧美成人激情视频| 亚洲国产欧美一区二区三区久久| 成人免费福利视频| 欧美大学生性色视频| 美女撒尿一区二区三区| 亚洲影视九九影院在线观看| 欧美一级bbbbb性bbbb喷潮片| 亚洲人成网7777777国产| 日韩中文在线中文网三级| 性色av一区二区三区红粉影视| 日韩欧美aaa| 久久精品国产一区二区三区| 91免费精品视频| 亚洲二区在线播放视频| 97国产一区二区精品久久呦| 国产日韩欧美视频在线| 成人福利网站在线观看| 国产精品日日做人人爱| 久久艹在线视频| 91精品久久久久久久久久久久久久| 国产一区二区三区在线播放免费观看| 国产激情久久久久| 中文字幕久热精品视频在线| 国产丝袜精品视频| 国产一区二区三区日韩欧美| 国产精品入口免费视| 91在线观看欧美日韩| 国产成人综合久久| 久久精品视频在线观看| 日韩视频永久免费观看| 国产精品久久久久福利|