JavaScript - 缓动动画(移动速度由快到慢)

效果

 盒子不是匀速移动的,而是由快到慢,缓缓停下,看起来比较顺滑。

核心代码

 <script>
        var div = document.querySelector('div');
        var span = document.querySelector('span');
        var btn1 = document.querySelector('.button1');
        var btn2 = document.querySelector('.button2');
    
        function move(obj, target, callback) {   //callback是回调参数(见后面
            // 清除多次点击后的定时器,保留最新的那一次
            clearInterval(obj.timer);

            //  使用obj.timer,把timer当作obj的属性,如果使用var timer = ,调用一次就会开辟一次内存空间
            obj.timer = setInterval(function () {
                //对步长向上取整,因为除以10可能有小数
                var step = (target - obj.offsetLeft) / 10;
                step = step > 0 ? Math.ceil(s
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用CSS3的transition属性和transform属性来实现DOM元素位置改变的动画,从而实现从快到动画效果。 具体步骤如下: 1. 首先,需要将要进行动画的DOM元素的初始位置设置为相对定位(position: relative),这样才能让它在页面中移动。 2. 然后,设置transition属性,用来定义动画的过渡效果。可以设置transition-duration(动画持续时间)、transition-timing-function(动画时间函数)、transition-delay(动画延迟时间)等属性,来控制动画的执行方式。 3. 接着,使用transform属性来改变DOM元素的位置。可以使用translateX()或translateY()函数来移动元素,也可以使用rotate()函数来旋转元素。同时,也可以设置transform-origin属性来改变元素的旋转中心点。 4. 最后,使用JavaScript来触发动画效果。可以通过改变DOM元素的样式来实现动画效果,比如改变其left、top等属性的值。 下面是一个简单的示例代码: HTML: ``` <div class="box"></div> ``` CSS: ``` .box { width: 100px; height: 100px; background-color: red; position: relative; transition: transform 1s ease-in-out; } .box:hover { transform: translateX(200px); } ``` JavaScript: ``` const box = document.querySelector('.box'); box.addEventListener('mouseenter', () => { box.style.transform = 'translateX(200px)'; }); ``` 在上面的示例中,当鼠标移入.box元素时,会触发动画效果,使元素从左侧移动到右侧。其中,transition属性定义了动画的执行方式,transform属性用来改变元素的位置,JavaScript代码用来触发动画效果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值