欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

JavaScript運(yùn)動(dòng)框架之多值運(yùn)動(dòng)的示例分析-創(chuàng)新互聯(lián)

這篇文章主要介紹JavaScript運(yùn)動(dòng)框架之多值運(yùn)動(dòng)的示例分析,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

成都創(chuàng)新互聯(lián)是專業(yè)的鄞州網(wǎng)站建設(shè)公司,鄞州接單;提供成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè),網(wǎng)頁設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行鄞州網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!

多值運(yùn)動(dòng),也就是對于某個(gè)對象來說,不僅僅只是其中一個(gè)屬性值在變化,而是好多個(gè),比如寬,高,字體,透明度等等同時(shí)變化

當(dāng)然了,多值運(yùn)動(dòng)會(huì)產(chǎn)生一個(gè)問題,就是定時(shí)器何時(shí)關(guān)閉的問題!當(dāng)然是所有的屬性值都運(yùn)動(dòng)到目標(biāo)值了才能清理定時(shí)器,也就是等最慢的。就好比十個(gè)人一起聚餐,不能等到來一個(gè)人就開吃!

前幾篇講的都是一個(gè)元素對象中某一個(gè)屬性的運(yùn)動(dòng),這次講同一個(gè)元素對象中多個(gè)屬性值的緩沖運(yùn)動(dòng),那么每個(gè)屬性都有個(gè)終點(diǎn)(目標(biāo)點(diǎn)),我們把這些屬性及其目標(biāo)值寫成一個(gè)對象的形式,或者是json狀!容易產(chǎn)生的問題就是上面說的,這里用了共同的速度函數(shù),但有的屬性值從100 –> 101, 有的屬性值從100 –> 600,你得等耗時(shí)最長的屬性值到達(dá)目標(biāo)值才能關(guān)閉該obj所擁有的定時(shí)器,設(shè)計(jì)的思路就是每次執(zhí)行輪詢函數(shù)設(shè)置一個(gè)bStob = true;在遍歷掃描json中屬性的時(shí)候,只要有沒到到目標(biāo)值的屬性,就設(shè)為false,這樣定時(shí)器就不會(huì)關(guān)閉,即使有的屬性值已經(jīng)到達(dá)終點(diǎn),此時(shí)輪詢依舊會(huì)執(zhí)行掃描,只不過此時(shí)該屬性運(yùn)動(dòng)速度為0了,也不會(huì)運(yùn)動(dòng)了。也就是之前:

if(attr == cur) {
 cleartInterval(obj.timer);
}

要增強(qiáng)為:

if (bStop) {
 clearInterval(obj.timer);
}
<!DOCTYPE html>
<html>
<head>
 <meta charset="utf-8">
 <title>運(yùn)動(dòng)框架(四):多值運(yùn)動(dòng)</title>
 <style type="text/css">
 div {
  width: 100px;
  height: 100px;
  background: orange;
  margin: 10px;
  float: left;
 }
 </style>
</head>
<body>
 <div id="div1"></div>

 <script type="text/javascript">
 var oDiv = document.getElementById('div1');
 oDiv.onmouseover = function() {
  var json = {
  width: 600,
  height: 200,
  opacity: 30
  };
  startMove(this, json);
 };
 oDiv.onmouseout = function() {
  var json = {
  width: 100,
  height: 100,
  opacity: 100
  };
  startMove(this, json);
 };
 function getStyle(obj, attr) {
  if (obj.currentStyle) {
  return obj.currentStyle[attr];
  } else {
  return getComputedStyle(obj, false)[attr];
  }
 }

 function startMove(obj, json) {
  clearInterval(obj.timer);
  obj.timer = setInterval(function() {
  var bStop = true;
  for (var attr in json) {
   var cur = 0;
   if (attr === 'opacity') {
   cur = Math.round(parseFloat(getStyle(obj, attr)) * 100);
   } else {
   cur = parseInt(getStyle(obj, attr));
   }
   var speed = (json[attr] - cur) / 10;
   speed = speed > 0 ? Math.ceil(speed) : Math.floor(speed);
   if (cur != json[attr]) {//凡是有未到達(dá)目標(biāo)點(diǎn)的,一律不讓定時(shí)器停下,否則有的屬性不能到達(dá)目標(biāo)值
   bStop = false;
   }
   if (attr === 'opacity') {
   cur += speed;
   obj.style.filter = 'alpha(opacity:' + cur + ')';
   obj.style.opacity = cur / 100;//Chrome,IE
   } else {
   obj.style[attr] = cur + speed + 'px';
   }
  }
  //整個(gè)循環(huán)結(jié)束后,仍然保持著true,說明沒有沒到達(dá)目標(biāo)值的屬性,也就是都到了
  if (bStop) {
   clearInterval(obj.timer);//說明所有的屬性都到達(dá)了目標(biāo)值
  }

  }, 30);
 }
 </script>
</body>
</html>

JavaScript運(yùn)動(dòng)框架之多值運(yùn)動(dòng)的示例分析

以上是“JavaScript運(yùn)動(dòng)框架之多值運(yùn)動(dòng)的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司行業(yè)資訊頻道!

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)建站chinadenli.net,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

網(wǎng)站名稱:JavaScript運(yùn)動(dòng)框架之多值運(yùn)動(dòng)的示例分析-創(chuàng)新互聯(lián)
URL地址:http://chinadenli.net/article36/cdhipg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化、標(biāo)簽優(yōu)化域名注冊、品牌網(wǎng)站制作、網(wǎng)頁設(shè)計(jì)公司品牌網(wǎng)站設(shè)計(jì)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設(shè)