最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

微信小程序開發(fā)之animation循環(huán)動畫實現的讓云朵飄效果

 更新時間:2017年07月14日 11:59:04   作者:第九程序  
這篇文章主要介紹了微信小程序開發(fā)之animation循環(huán)動畫實現的讓云朵飄效果,結合實例形式分析了animation結合js時間函數實現循環(huán)動畫效果的具體步驟與相關操作技巧,需要的朋友可以參考下

本文實例講述了微信小程序開發(fā)之animation循環(huán)動畫實現的讓云朵飄效果。分享給大家供大家參考,具體如下:

微信小程序提供了實現動畫的api——animation,但卻不能循環(huán)播放,都是一次性的,動完就Over了,下面提供一個用微信小程序的animation來實現循環(huán)動畫的玩具,拋磚引玉,希望大家能想出更好的方法來實現真正的循環(huán)。說是玩具是因為這個循環(huán)動畫通過js腳本的setInterval來實現的,但'setInterval'在實際運行中會出現越來越嚴重的延遲,這是由于js的單線程運行模式所決定的(具體可以搜本關資料看),所以動畫間隙并不是那么流暢,所以先玩玩吧,讓我們來實現讓云朵飄……

截圖如下:

實現代碼:

index.wxml

<view class="clouds">
   <image animation="{{animationCloudData}}" class="yun1" src="../../img/yun1.png"></image>
  </view>

index.js

onReady: function () {
  // 頁面渲染完成
  // 實例化一個動畫
  var that = this;
  var i = 0
  var ii = 0
  var animationData = wx.createAnimation({
   duration: 1000, // 默認為400   動畫持續(xù)時間,單位ms
   timingFunction: 'ease-in-out',
   //transformOrigin: '4px 91px'
  });
  var animationCloudData = wx.createAnimation({
   duration: 1000, // 默認為400   動畫持續(xù)時間,單位ms
   timingFunction: 'ease-in-out',
   //transformOrigin: '4px 91px'
  });
  // 順序執(zhí)行,當已經執(zhí)行完上面的代碼就會開啟定時器
  // 循環(huán)執(zhí)行代碼
  //dotAnFun = setInterval(function () {});  
  /*setInterval(function () {
   // 動畫腳本定義
   //animationData.rotate(6 * (++i)).step()
   //animationData.scale(2, 2).rotate(45).step().scale(1, 1).step();
   animationData.translateY(10).step({ duration: 500 }).translateY(-10).step({ duration: 500 });
   // 更新數據
   that.setData({
    // 導出動畫示例
    animationData: animationData.export(),
    //animationCloudData: animationCloudData.export(),    
   })
   ++i;
   console.log(i);
  }.bind(that), 2000);//循環(huán)時間 這里1000是1秒
  */
  //動畫的腳本定義必須每次都重新生成,不能放在循環(huán)外
  animationCloudData.translateX(200).step({ duration: 5000 }).translateX(0).step({ duration: 5000 });
  // 更新數據
  that.setData({
   // 導出動畫示例
   //animationData: animationData.export(),
   animationCloudData: animationCloudData.export(),
  })
  setInterval(function () {
   //動畫的腳本定義必須每次都重新生成,不能放在循環(huán)外
   animationCloudData.translateX(300).step({ duration: 5000 }).translateX(-100).step({ duration: 5000 });
   // 更新數據
   that.setData({
    // 導出動畫示例
    //animationData: animationData.export(),
    animationCloudData: animationCloudData.export(),
   })
   ++ii;
   console.log(ii);
  }.bind(that),10000);//3000這里的設置如果小于動畫step的持續(xù)時間的話會導致執(zhí)行一半后出錯
}

index.wxss

.clouds{
 margin-top:320rpx; 
}
.yun1{
 width:320rpx;
 height: 120rpx;
}

附:參考備用:

/*
  var that = this;
  // 頁面渲染完成
  //實例化一個動畫
  var animation = wx.createAnimation({
   duration: 1000,
   timingFunction: 'ease',
  })
  this.animation = animation
  animation.scale(2, 2).rotate(45).step().scale(1,1).step();
  //導出動畫
  this.setData({
   animationData: animation.export()
  })
  var i = 0;
  // 順序執(zhí)行,當已經執(zhí)行完上面的代碼就會開啟定時器
  /*setTimeout(function () {
   that.setData({
    animationData: animation.export()
   });
   i++;
   console.log(i);
  }, 1000);*/
  /*setInterval(function () {
   //循環(huán)執(zhí)行代碼 
    that.setData({
     animationData: animation.export()
    });
   i++;
   console.log(i); 
  }, 1000) //循環(huán)時間 這里是1秒  
 }*/

更多關于JavaScript

更多關于JavaScript相關內容感興趣的讀者可查看本站專題:《JavaScript中json操作技巧總結》、《JavaScript切換特效與技巧總結》、《JavaScript錯誤與調試技巧總結》、《JavaScript數據結構與算法技巧總結》、《JavaScript遍歷算法與技巧總結》及《JavaScript數學運算用法總結

希望本文所述對大家JavaScript程序設計有所幫助。

相關文章

  • js表數據排序 sort table data

    js表數據排序 sort table data

    對于表格的排序,是很不錯的一個功能,方便用戶快速的分析一些數據。
    2009-02-02
  • webpack中Loader和Plugin的區(qū)別小結

    webpack中Loader和Plugin的區(qū)別小結

    本文主要介紹了webpack中Loader和Plugin的區(qū)別小結,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-06-06
  • Openlayers實現面積測量的方法

    Openlayers實現面積測量的方法

    在Openlayers中,長度和面積的測量均依賴ol/sphere模塊,長度通過getLength方法計算,面積則通過getArea方法,面積測量不是計算平面面積,而是基于球面,適用于多邊形和多多邊形集合,感興趣的朋友一起看看吧
    2024-11-11
  • uniapp開發(fā)h5項目引入第三方js(sdk)兩種方法

    uniapp開發(fā)h5項目引入第三方js(sdk)兩種方法

    這篇文章主要給大家介紹了關于uniapp開發(fā)h5項目引入第三方js(sdk)的兩種方法,在Uniapp中引入JS文件是一項常見的操作,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2024-02-02
  • Javascript簡單實現可拖動的div

    Javascript簡單實現可拖動的div

    實現div拖動有很多方法,不過目前比較常見的就是使用javascript實現的了,下面有個不錯的示例,大家可以嘗試操作下
    2013-10-10
  • JavaScript函數防抖與函數節(jié)流的定義及使用詳解

    JavaScript函數防抖與函數節(jié)流的定義及使用詳解

    這篇文章主要為大家詳細介紹一下JavaScript中函數防抖與函數節(jié)流的定義及使用,文中的示例代碼講解詳細,對我們學習JS有一定幫助,需要的可以參考一下
    2022-08-08
  • 微信小程序開發(fā)之實現自定義Toast彈框

    微信小程序開發(fā)之實現自定義Toast彈框

    Toast相信對于利用微信小程序開發(fā)的朋友們來說都不陌生,有時候官方的樣式并不能滿足業(yè)務要求,怎么辦呢,當然有解決辦法了。有一個插件可以直接幫我們完成WeToast,這篇文章主要給大家介紹了微信小程序開發(fā)之實現自定義Toast彈框的相關資料,需要的朋友可以參考下。
    2017-06-06
  • Bootstrap實現省市區(qū)三級聯動(親測可用)

    Bootstrap實現省市區(qū)三級聯動(親測可用)

    這篇文章主要為大家詳細介紹了Bootstrap實現省市區(qū)三級聯動,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-07-07
  • JavaScript數據庫TaffyDB用法實例分析

    JavaScript數據庫TaffyDB用法實例分析

    這篇文章主要介紹了JavaScript數據庫TaffyDB用法,實例分析了TaffyDB數據庫的定義、查詢、更新、刪除等操作的相關使用技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-07-07
  • javascript中的后退和刷新實現方法

    javascript中的后退和刷新實現方法

    下面小編就為大家?guī)硪黄猨avascript中的后退和刷新實現方法。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-11-11

最新評論

容城县| 沭阳县| 吉木萨尔县| 云浮市| 周至县| 革吉县| 葵青区| 红原县| 巴东县| 开化县| 睢宁县| 专栏| 桐梓县| 象州县| 贡山| 普定县| 北安市| 富蕴县| 封丘县| 寻甸| 合川市| 迁安市| 桃江县| 洪江市| 紫云| 遂平县| 和硕县| 贵定县| 营山县| 北票市| 洪江市| 仲巴县| 任丘市| 福建省| 钟山县| 扬中市| 客服| 五大连池市| 石棉县| 融水| 阳山县|