<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      動畫移動效果

      利用定時器實現的移動效果:

      css:

          <style>
              div {
                  position: absolute;
                  width: 100px;
                  height: 200px;
                  ">aqua;
              }

              span {
                  height: 100px;
                  width: 150px;
                 
                  display: block;
                  position: absolute;
                  top: 300px;
              }
          </style>
       
      html:

      <body>
          <button>點我啟動變換形態</button>
          <button class="btn1">btn1緩動動畫500</button>
          <button class="btn800">btn800</button>
          <div></div>
          <span>變換形態</span>
          <script>
              //簡單動畫函數的封裝,一般有兩個參數,對象和移動的最終目的地
              //給不同的元素指定不同的定時器,將其變為對象.屬性 obj.timer 可以避免開辟內存空間
              var div = document.querySelector('div')
              var span = document.querySelector('span')
       
              var btn = document.querySelector('button')
              btn.addEventListener('click', function () {
                  animate(span, 400)
              })
       
              function animate(obj, target) {
                  //當我們把這個函數調用在一個點擊事件中,一直點擊的話會加速,而且會超出目標距離,是因為有了太多的定時器
                  //解決:每次點擊時候會生成定時器 , 那先清除定時器,再生成.
                  clearInterval(obj.timer);
                  obj.timer = setInterval(function () {
                      if (obj.offsetLeft > target) {
                          //如果div的左偏移大于500,則停止移動
                          clearInterval(obj.timer);
                      } else { //如果這個移動語句不在else中,那么到了目標位置點擊之后還會繼續走!
                          obj.style.left = obj.offsetLeft + 2 + 'px'
                      }
                  }, 30)
              }

              //調用函數
              animate(div, 500)
       
      //緩動動畫
         //緩動動畫效果原理:讓元素運動慢慢的降下來,最后停止
              //1.讓盒子每次移動的距離慢慢變小,速度就回慢慢落下來.
              //2.核心算法: (目標值-現在的位置)/10 = 每次移動的距離步長
              //3.停止的條件:讓盒子當前位置等于目標位置,就停止定時器
              var btn1 = document.querySelector('.btn1')
              var btn800 = document.querySelector('.btn800')
              btn1.addEventListener('click', function () {
                  animate1(span, 500)
              })
              btn800.addEventListener('click', function () {
                  animate1(span, 800, function () {
                      alert('回調函數:我被調用了')
                      span.style.backgroundColor = 'green';
                  })
              })
       
        //給緩動動畫添加回調函數 即形式參數callback
              function animate1(obj, target, callback) {
                  clearInterval(obj.timer);
                  obj.timer = setInterval(function () {
                      //把步長值寫入定時器中  
                      // var step = (target - obj.offsetLeft) / 10;
                      //把步長值取整,不要出現小數的問題
                      //var step = Math.ceil((target - obj.offsetLeft) / 10);
                      //把步長取整,回退和前進的時候都不出現小數
                      var step = (target - obj.offsetLeft) / 10;
                      step = step > 0 ? Math.ceil(step) : Math.floor(step);
                      if (obj.offsetLeft == target) {
                          clearInterval(obj.timer);
                          //回調函數寫在定時器結束里面,等定時器結束后再執行,而不是一調用就執行
                          if (callback) {//如果有回調函數,那就調用它
                              callback();
                          }
                      } else {
                          //把每次變化的步長改為一個慢慢變小的值  步長公式:(目標值-當前的位置)
                          obj.style.left = obj.offsetLeft + step + 'px'
                      }
                  }, 15)
              }
              //勻速動畫 盒子的left= 盒子當前的位置+固定的值
              //緩動動畫 盒子的left=盒子當前的位置+變化的值 ((目標值-當前的位置))
          </script>
      </body>
      posted @ 2022-01-13 10:53  我的貓在哪里  閱讀(45)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 老熟女多次高潮露脸视频| 99国产精品白浆无码流出| 中文字幕乱码中文乱码毛片| 久9re热视频这里只有精品免费| 精品人妻人人做人人爽| 老熟妇老熟女老女人天堂| 萝北县| 九九热在线视频观看精品| 国产不卡一区不卡二区| 亚洲图片自拍偷图区| 女人香蕉久久毛毛片精品| 性视频一区| 亚洲国产午夜精品福利| 布尔津县| 亚洲精品熟女一区二区| 国产成年码av片在线观看| 日本高清中文字幕一区二区三区| 97碰碰碰免费公开在线视频| 免费看国产精品3a黄的视频| 国产无遮挡又黄又大又爽| 日韩一区在线中文字幕| 亚洲成人av在线系列| 精品久久久久久无码人妻蜜桃| 狠狠躁夜夜躁人人爽天天古典 | 国产av综合影院| 一边捏奶头一边高潮视频| 久久精品99国产精品日本| 久久国产免费观看精品3| 国产片AV国语在线观看手机版| 国产成人高清亚洲一区91| 超碰成人人人做人人爽| 亚洲天堂成年人在线视频| 国产一区二区波多野结衣| 国产在线午夜不卡精品影院| 国产福利深夜在线播放| 日韩大片高清播放器| 精品国产乱一区二区三区| 四虎精品永久在线视频| 久久精品国产福利一区二区| 欧美片内射欧美美美妇| 丰满人妻被黑人猛烈进入|