摘要:我們先看下最后的效果實(shí)現(xiàn)思路要實(shí)現(xiàn)眼睛隨鼠標(biāo)一起運(yùn)動(dòng),我們必須先求出眼睛的坐標(biāo),也就是它的和值為了取到和值,我們只要知道角的內(nèi)三角形的對(duì)邊和鄰邊的長度即可為了取到對(duì)邊和鄰邊,我們只需要知道角的弧度即可角的弧度,我們可能通過圖中邊和邊,再使用
我們先看下最后的效果 實(shí)現(xiàn)思路
要實(shí)現(xiàn)眼睛隨鼠標(biāo)一起運(yùn)動(dòng),我們必須先求出眼睛的坐標(biāo),也就是它的left和top值
為了取到left和top值,我們只要知道α角的內(nèi)三角形的對(duì)邊和鄰邊的長度即可
為了取到對(duì)邊和鄰邊,我們只需要知道α角的弧度即可
α角的弧度,我們可能通過圖中a邊和b邊,再使用arctan(a/b),即可求得
a邊的長度為:鼠標(biāo)y軸的坐標(biāo) - (offsetY + r)
b邊的長度為:鼠標(biāo)x軸的坐標(biāo) - (offsetX + r)
部分實(shí)現(xiàn)計(jì)算offsetX和offsetY
// 旋轉(zhuǎn)軌道的left和top值,也就是圖中offsetX和offsetY var wLeft = $(".wrap").offset().left var wTop = $(".wrap").offset().top // 旋轉(zhuǎn)軌道的半徑 var r = 12
計(jì)算a邊和b邊的長度
// b邊的長度 var diffX = ev.pageX - (wLeft + r) // a邊的長度 var diffY = ev.pageY - (wTop + r)
計(jì)算α
// 弧度α var deg = Math.atan(Math.abs(diffY) / Math.abs(diffX))
計(jì)算內(nèi)三角形的對(duì)邊和鄰邊
// 內(nèi)三角形的鄰邊 var x = Math.cos(deg) * r // 內(nèi)三角形的對(duì)邊 var y = Math.sin(deg) * r
計(jì)算出眼睛的left值和top值
var left = (r + x) + "px" var top = (r + y) + "px"四象限角度問題
上面我們獲取了left值和top值,但是這只限于0~90度,也就是第四象限是可以了,關(guān)于四象限,我們上一張圖
當(dāng)鼠標(biāo)落在第三象限的時(shí)候,計(jì)算出來的角度應(yīng)該是90~180度,我們得出:
deg = Math.PI - deg
當(dāng)鼠標(biāo)落在第二象限的時(shí)候,計(jì)算出來的角度應(yīng)該是180~270度,我們得出:
deg = Math.PI + deg
當(dāng)鼠標(biāo)落在第一象限的時(shí)候,計(jì)算出來的角度應(yīng)該是270~360度,我們得出:
deg = 2 * Math.PI - deg
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/84811.html
摘要:可以感受下種不同取值的不同效果使用實(shí)現(xiàn)滾動(dòng)視差首先,我們使用來實(shí)現(xiàn)滾動(dòng)視差。何為滾動(dòng)視差 視差滾動(dòng)(Parallax Scrolling)是指讓多層背景以不同的速度移動(dòng),形成立體的運(yùn)動(dòng)效果,帶來非常出色的視覺體驗(yàn)。 作為網(wǎng)頁設(shè)計(jì)的熱點(diǎn)趨勢(shì),越來越多的網(wǎng)站應(yīng)用了這項(xiàng)技術(shù)。 通常而言,滾動(dòng)視差在前端需要輔助 Javascript 才能實(shí)現(xiàn)。當(dāng)然,其實(shí) CSS 在實(shí)現(xiàn)滾動(dòng)視差效果方面,也有著不俗...
摘要:通常而言,滾動(dòng)視差在前端需要輔助才能實(shí)現(xiàn)。當(dāng)然,其實(shí)在實(shí)現(xiàn)滾動(dòng)視差效果方面,也有著不俗的能力。此關(guān)鍵字表示背景相對(duì)于視口固定。使用實(shí)現(xiàn)滾動(dòng)視差言歸正傳,下面介紹另外一種使用實(shí)現(xiàn)的滾動(dòng)視差效果,利用的是。? ? 何為滾動(dòng)視差 視差滾動(dòng)(Parallax Scrolling)是指讓多層背景以不同的速度移動(dòng),形成立體的運(yùn)動(dòng)效果,帶來非常出色的視覺體驗(yàn)。 作為網(wǎng)頁設(shè)計(jì)的熱點(diǎn)趨勢(shì),越來越多的網(wǎng)站應(yīng)...
摘要:那么動(dòng)作生成器又是什么在程序語言的函數(shù)庫中,如果是個(gè)英文的名詞,通常都是代表某種對(duì)象或數(shù)據(jù)格式,例如動(dòng)作就是個(gè)單純的對(duì)象。 這兩個(gè)是Flux架構(gòu)中的參與成員,Redux中有說明Action的定義: Actions(動(dòng)作)是從你的應(yīng)用送往store(存儲(chǔ))的信息負(fù)載 你可能會(huì)一直在Action(動(dòng)作)這里看到payload這個(gè)字詞,它是負(fù)載或有效數(shù)據(jù)的意思,這個(gè)字詞的意思解說你可以看一下...
摘要:人生,遠(yuǎn)不止是錢。如何管理,一個(gè)更復(fù)雜的人生人生,就是一個(gè)大型應(yīng)用。把復(fù)雜的人間,拆解成了行動(dòng)與目標(biāo)。所以,,以及和兩個(gè)函數(shù),就構(gòu)成了的邏輯?,F(xiàn)在,你不僅完全理解了的設(shè)計(jì)哲學(xué),你更懂得了如何管理人生。 Veux的哲學(xué),實(shí)質(zhì)上是人生的哲學(xué)。 看一看這張圖。 showImg(https://segmentfault.com/img/remote/1460000018782816?w=424...
摘要:本次介紹的則是用來解決這類問題的。實(shí)現(xiàn)模塊實(shí)現(xiàn)思路將配置內(nèi)的命令的的內(nèi)聯(lián)從前至后組成一個(gè)數(shù)組。所有字符串內(nèi)部又可以截取,獲取完整的。分析并解析該數(shù)組內(nèi)的字符串,獲取各個(gè)的絕對(duì)路徑。 前言 在webpack特性里面,它可以支持將非javaScript文件打包,但前面寫到webpack的模塊化打包只能應(yīng)用于含有特定規(guī)范的JavaScript文件。本次介紹的loader則是用來解決這類問題的...
閱讀 3349·2023-04-25 16:50
閱讀 980·2021-11-25 09:43
閱讀 3637·2021-09-26 10:11
閱讀 2576·2019-08-26 13:28
閱讀 2589·2019-08-26 13:23
閱讀 2491·2019-08-26 11:53
閱讀 3634·2019-08-23 18:19
閱讀 3050·2019-08-23 16:27