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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

简单的动画函数封装(2)

發布時間:2023/12/13 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 简单的动画函数封装(2) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
<div></div><!-- <span></span> --><button class="btn1">點擊500</button><button class="btn2">點擊800</button> div{width: 100px;height: 100px;background-color: red;position: absolute;top: 0;left: 0;margin-top: 100px;}/* span{display: block;width: 50px;height: 50px;background-color: gold;margin-top: 200px;position: absolute;top: 0;left: 0;} */ <script>// 創建簡單的動畫函數封裝效果(目標對象,目標位置)function animate(obj,target,callback){//callback回調函數相當于 :callback = function(){},是零時添加的形參//清楚時間效果的同時,只留下一個時間效果clearInterval(obj.timer);obj.timer = setInterval(function(){//步長值寫道定時器里面(緩動動畫效果)// var step = Math.ceil((target - obj.offsetLeft) / 10);var step = (target - obj.offsetLeft) / 10;//當step大于0,就向上取值,要不向下取值,然后在賦值給stepstep = step > 0 ? Math.ceil(step) : Math.floor(step);//進行距離的判斷//如果當前的位置等于目標位置if(obj.offsetLeft == target){//清楚當前的時間效果clearInterval(obj.timer);//判斷有沒有這個回調函數if(callback){callback();}}//更改的位置等于 = 當前位置 + 每次移動的距離obj.style.left = obj.offsetLeft + step + 'px';},30)}var div = document.querySelector('div');var btn1 = document.querySelector('.btn1');var btn2 = document.querySelector('.btn2');btn1.onclick = function(){animate(div,500,function(){// alert('你好嗎?');div.style.backgroundColor = 'green';});}btn2.onclick = function(){animate(div,800);}// animate(span,300);</script>

實現效果:

總結

以上是生活随笔為你收集整理的简单的动画函数封装(2)的全部內容,希望文章能夠幫你解決所遇到的問題。

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