日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Javascript 链式运动框架——逐行分析代码,让你轻松了解运动的原理

發布時間:2025/3/15 java 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Javascript 链式运动框架——逐行分析代码,让你轻松了解运动的原理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

所謂鏈式運動,就是一環扣一環。我們的很多運動實際上來說指的就是分階段的,第一個階段動完,下個階段開始動。

這個鏈式運動框架就是用來處理這些問題的。

我們先來看下之前的運動框架,以下是Javascript 代碼

function getStyle(obj, name) {if (obj.currentStyle) {return obj.currentStyle[name];} else {return getComputedStyle(obj, null)[name];} }function startMove(obj, attr, iTarget) {clearInterval(obj.time);obj.time = setInterval(function() {var cur = 0;if (attr == 'opacity') {cur = Math.round(parseFloat(getStyle(obj, attr)) * 100);} else {cur = parseInt(getStyle(obj, attr));}var speed = (iTarget - cur) / 6;speed = speed > 0 ? Math.ceil(speed) : Math.floor(speed);if (cur == iTarget) {clearInterval(obj.time);} else {if (attr == 'opacity') {obj.style.filter = 'alpha(opacity=' + cur + speed + ')';obj.style.opacity = (cur + speed) / 100;} else {obj.style[attr] = cur + speed + 'px';}}}, 30); }

實際上來說他就是相當于一個階段型的運動框架,一個物體運動到某個地方就停下來了。

那么怎么能實現鏈式運動呢?

我們在加一個參數fnEnd ,這個是個函數,他會在運動結束的時候被調用。

當然這個函數可以傳可以不傳,所以需要做個判斷。只有當傳入的時候在調用即可。

原理就是: 一個運動完成 在開始下次的運動。

這樣就能夠完成鏈式運動,簡單吧,讓我們看看代碼。

<style type="text/css">#div1{width: 100px; height: 100px; background: red;}</style> <script src="js/move_lianshi.js" type="text/javascript" charset="utf-8"></script><script type="text/javascript">window.onload=function(){var oDiv=document.getElementById("div1");oDiv.onmouseover=function(){startMove(oDiv,'width',300,function(){startMove(oDiv,'height',300);});};}</script></head><body><div id="div1"></div></body>

Javascript:

function getStyle(obj, name) {if (obj.currentStyle) {return obj.currentStyle[name];} else {return getComputedStyle(obj, null)[name];} }function startMove(obj, attr, iTarget,fnEnd) {clearInterval(obj.time);obj.time = setInterval(function() {var cur = 0;if (attr == 'opacity') {cur = Math.round(parseFloat(getStyle(obj, attr)) * 100);} else {cur = parseInt(getStyle(obj, attr));}var speed = (iTarget - cur) / 6;speed = speed > 0 ? Math.ceil(speed) : Math.floor(speed);if (cur == iTarget) {clearInterval(obj.time);if(fnEnd)fnEnd();} else {if (attr == 'opacity') {obj.style.filter = 'alpha(opacity=' + cur + speed + ')';obj.style.opacity = (cur + speed) / 100;} else {obj.style[attr] = cur + speed + 'px';}}}, 30); }

這樣Div就會先變寬在變高。

我們現在這個運動框架還是會有局限性,那是什么呢?

那么就是不能同時運動,也就是說我想讓Div 同時變大變寬 那又怎么辦呢?

在下一次更新的時候,我們會解決這個問題,并且推出一個完美的運動框架,這個運動框架能夠支持大多數的運動。

敬請期待~

轉載于:https://www.cnblogs.com/IcemanZB/p/4191312.html

總結

以上是生活随笔為你收集整理的Javascript 链式运动框架——逐行分析代码,让你轻松了解运动的原理的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 新婚之夜玷污岳丰满少妇在线观看 | 色涩av| 99久免费精品视频在线观78 | 加勒比av在线播放 | 夜夜操天天 | 国产三级午夜理伦三级 | 日韩精品视频免费播放 | aⅴ在线免费观看 | 国产综合福利 | 99re国产精品| 日本熟妇人妻xxxxx | 成年人视频在线免费看 | 午夜久久久久久噜噜噜噜 | 粗了大了 整进去好爽视频 日本女优中文字幕 | 第一福利丝瓜av导航 | 97视频在线| 久久午夜精品人妻一区二区三区 | 嫩草影院懂你的 | 欧美日韩精品二区 | 国产精品福利电影 | 欧美日韩日本国产 | 日韩香蕉网| 最新版天堂资源在线 | 免费黄色成人 | 日韩精品一区二 | 蜜桃视频无码区在线观看 | 日韩avxxx | 在线a视频 | 亚洲免费观看 | 四虎综合网 | 欧洲一区二区三区在线 | 主播一区二区 | 国产一级视频在线播放 | 日本精品一区 | 三大队在线观看 | 特黄特色大片免费 | 黄色一级片在线 | 午夜精品久久久久久久99热黄桃 | 男女裸体无遮挡做爰 | 天天躁日日躁狠狠躁av麻豆 | 亚洲自拍偷拍综合 | 校园春色中文字幕 | 亚洲免费看黄 | 99热网| 亚洲av熟女国产一区二区性色 | 欧美日韩1 | 免费观看一区二区三区毛片 | 日本视频色 | 草草影院在线播放 | 总裁边开会边做小娇妻h | 伊人色综合久久天天 | 高清国产一区二区三区 | 麻豆国产尤物av尤物在线观看 | 91精品国产综合久久久久久 | 男女啊啊啊视频 | 亚洲在线视频免费观看 | 婷婷五月综合久久中文字幕 | 182tv午夜福利在线观看 | mm1313亚洲精品 | 99精品久久久久久久 | 午夜电影一区 | 免费观看成人毛片 | 男人的天堂av网站 | 波多野结衣av片 | 国产精品一区视频 | 久久wwww| 欧美视频一 | 91久久在线观看 | 国产一区亚洲一区 | 黄色三级视屏 | 91老师片黄在线观看 | 操操网站 | 内射中出日韩无国产剧情 | 国产第一精品视频 | 欧美精品导航 | 久久综合狠狠综合久久综合88 | 亚洲精品视频一区二区 | 夫妻啪啪呻吟x一88av | av久草| 日本一区二区久久 | 国产欧美自拍 | 国产精品嫩草影院av蜜臀 | 性户外野战hd | 久久狠狠高潮亚洲精品 | 曰本无码人妻丰满熟妇啪啪 | 欧美激情999 | 色网站免费在线观看 | 亚洲综合p| 欧美性色网站 | 日本成人免费网站 | 亚洲伦理一区 | 久久久综合视频 | 日本高清黄色电影 | 一久久久久 | 日本亚洲色大成网站www久久 | 成人xx视频 | 天堂网中文在线观看 | 国产日韩欧美一区二区 | 国产精品videossex国产高清 |