欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JS運(yùn)動(dòng)特效之鏈?zhǔn)竭\(yùn)動(dòng)分析

 更新時(shí)間:2018年01月24日 11:52:07   作者:關(guān)耳佳  
這篇文章主要介紹了JS運(yùn)動(dòng)特效之鏈?zhǔn)竭\(yùn)動(dòng),結(jié)合實(shí)例形式分析了javascript鏈?zhǔn)竭\(yùn)動(dòng)的原理與具體實(shí)現(xiàn)技巧,需要的朋友可以參考下

本文實(shí)例講述了JS運(yùn)動(dòng)特效之鏈?zhǔn)竭\(yùn)動(dòng)。分享給大家供大家參考,具體如下:

接著前面一篇《JS運(yùn)動(dòng)特效之任意值添加運(yùn)動(dòng)的方法》繼續(xù)折騰

鏈?zhǔn)竭\(yùn)動(dòng):一個(gè)運(yùn)動(dòng)接著一個(gè)運(yùn)動(dòng)。比如:鼠標(biāo)移入div先讓寬變大,接著在讓高變大,接著在讓透明度變化等等一系列運(yùn)動(dòng)連著做。廢話不多說(shuō),上栗子??!

當(dāng)鼠標(biāo)移入div的時(shí)候,div先變寬,在變高,然后改變透明度;移出又逐次恢復(fù)到原樣;

實(shí)現(xiàn)鏈?zhǔn)竭\(yùn)動(dòng),需要對(duì)上一篇中的startMove() 函數(shù)繼續(xù)做改進(jìn)

function startMove(obj,attr,iTarget,fn) 多傳入一個(gè)fn參數(shù),表示當(dāng)一個(gè)運(yùn)動(dòng)結(jié)束之后,繼續(xù)進(jìn)行下一個(gè)運(yùn)動(dòng),當(dāng)然還需要判斷一下,如果有下一個(gè)運(yùn)動(dòng),就執(zhí)行下一個(gè)運(yùn)動(dòng),如果沒(méi)有就繼續(xù)向下執(zhí)行

if(fn){
  fn();
}

完整測(cè)試代碼:

HTML部分:

<body>
<div id="div1"></div>
</body>

css部分:

<style>
  #div1{
   width: 200px;height: 200px;
   background: green;
  }
</style>

js部分:

<script>
  window.onload = function(){
   var oDiv = document.getElementById('div1');
   oDiv.onmouseover = function () {
    startMove(oDiv,'width',300,function () {
     startMove(oDiv,'height',300, function () {
      startMove(oDiv,'opacity',30);
     });
    });
   }
   oDiv.onmouseout = function () {
    startMove(oDiv,'opacity',100, function () {
     startMove(oDiv,'height',200, function () {
      startMove(oDiv,'width',200);
     });
    });
   }
  }
  function getStyle(obj,attr){
   return getComputedStyle ? getComputedStyle(obj,false)[attr] : obj.currentStyle[attr];
  }
  function startMove(obj,attr,iTarget,fn) {//fn:執(zhí)行下一個(gè)運(yùn)動(dòng)的函數(shù)
   clearInterval(obj.timer);
   obj.timer = setInterval(function () {
    var objAttr = 0;
    if(attr == "opacity"){
     objAttr = Math.round(parseFloat(getStyle(obj,attr))*100);
    }else{
     objAttr = parseInt(getStyle(obj,attr));
    }
    var iSpeed = (iTarget -objAttr)/10;
    iSpeed = iSpeed>0 ?Math.ceil(iSpeed):Math.floor(iSpeed);
    if(objAttr == iTarget){
     clearInterval(obj.timer);
     if(fn){// 如果傳了 “下一個(gè)運(yùn)動(dòng)的函數(shù)” 就執(zhí)行
      fn();
     }
    }else{
     if(attr == "opacity"){
      obj.style.filter = 'alpha(opacity:'+(objAttr+iSpeed)+')';
      obj.style.opacity = (objAttr+iSpeed)/100;
     }else{
      obj.style[attr] = objAttr+iSpeed+'px';
     }
    }
   },30);
  }
</script>

未完待續(xù)....

更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《JavaScript運(yùn)動(dòng)效果與技巧匯總》、《JavaScript切換特效與技巧總結(jié)》、《JavaScript查找算法技巧總結(jié)》、《JavaScript動(dòng)畫(huà)特效與技巧匯總》、《JavaScript錯(cuò)誤與調(diào)試技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》及《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)

希望本文所述對(duì)大家JavaScript程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • 詳解微信小程序-獲取用戶session_key,openid,unionid - 后端為nodejs

    詳解微信小程序-獲取用戶session_key,openid,unionid - 后端為nodejs

    這篇文章主要介紹了微信小程序獲取session_key,openid,unionid的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • JS中artdialog彈出框控件之提交表單思路詳解

    JS中artdialog彈出框控件之提交表單思路詳解

    artDialog是一個(gè)基于javascript編寫(xiě)的對(duì)話框組件,它擁有精致的界面與友好的接口。本文給大家介紹JS中artdialog彈出框控件之提交表單思路詳解,對(duì)本文感興趣的朋友一起學(xué)習(xí)吧
    2016-04-04
  • javascript代碼混淆與加解密方式

    javascript代碼混淆與加解密方式

    這篇文章主要介紹了javascript代碼混淆與加解密方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • 基于Cesium實(shí)現(xiàn)加載顯示熱力圖

    基于Cesium實(shí)現(xiàn)加載顯示熱力圖

    這篇文章主要介紹了如何利用Cesium實(shí)現(xiàn)加載顯示熱力圖,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)或工作有一定的幫助,需要的可以參考一下
    2022-06-06
  • Js經(jīng)典案例的實(shí)例代碼

    Js經(jīng)典案例的實(shí)例代碼

    JS實(shí)現(xiàn)鼠標(biāo)懸停切換圖片,顯示天氣預(yù)報(bào),利用焦點(diǎn)實(shí)現(xiàn)選擇網(wǎng)站的實(shí)例代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,一起跟隨小編過(guò)來(lái)看看吧
    2018-05-05
  • JavaScript實(shí)現(xiàn)輪播圖片完整代碼

    JavaScript實(shí)現(xiàn)輪播圖片完整代碼

    這篇文章主要為大家介紹了JavaScript實(shí)現(xiàn)輪播圖片的完整代碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-03-03
  • file-loader打包圖片文件時(shí)路徑錯(cuò)誤輸出為[object-module]的解決方法

    file-loader打包圖片文件時(shí)路徑錯(cuò)誤輸出為[object-module]的解決方法

    這篇文章主要介紹了file-loader打包圖片文件時(shí)路徑錯(cuò)誤輸出為[object-module]的解決方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-01-01
  • JavaScript+html實(shí)現(xiàn)前端頁(yè)面滑動(dòng)驗(yàn)證

    JavaScript+html實(shí)現(xiàn)前端頁(yè)面滑動(dòng)驗(yàn)證

    這篇文章主要為大家詳細(xì)介紹了JavaScript+html實(shí)現(xiàn)前端頁(yè)面滑動(dòng)驗(yàn)證,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-06-06
  • firefox瀏覽器不支持innerText的解決方法

    firefox瀏覽器不支持innerText的解決方法

    在測(cè)試時(shí)發(fā)現(xiàn)firefox不支持innerText,該怎么辦呢?其實(shí)很簡(jiǎn)單,本文為大家提供了一個(gè)解決方法,感興趣的朋友可以參考下,希望對(duì)大家有所幫助
    2013-08-08
  • canvas繪制萬(wàn)花筒效果(代碼分享)

    canvas繪制萬(wàn)花筒效果(代碼分享)

    本文主要分享了canvas繪制萬(wàn)花筒效果的示例代碼。具有一定的參考價(jià)值,下面跟著小編一起來(lái)看下吧
    2017-01-01

最新評(píng)論