在执行 jQuery动画时 如果点击过快 上一个动画还没有结束,就执行了下一个动画

不会造成程序执行的混乱
会将没有执行的动画效果,保存,一次逐一的执行之后的所有的动画

动画终止:

在执行当前动画之前,终止之前的动画效果
$().finish()   当前动画立即终止,从上一个动画结束的位置,开始执行下一个动画
$().stop()     当前动画立即终止,从上一个动画,执行的当前位置,开始执行下一个动画
htmlcssjs
    <button name="block">出现</button>
    <button name="none">消失</button>
    <div></div>
   * {
        margin: 0;
        padding: 0;
    }

    div {
        width: 400px;
        height: 100px;
        background: pink;
        margin: 0 auto;
    }
    $('[name="block"]').click(() => {
        // 执行 出现效果 如果让一个消失没有执行完, finish() 会从,消失运动的最终状态,也就是宽度0
        // 开始执行 出现效果的动画
        $('div').finish().animate({ width: 400 }, 2000, 'linear', () => console.log('出现动画结束了'));
    })

    $('[name="none"]').click(() => {
        // 执行 小时效果 如果让一个出现没有执行完, stop() 会从,出现运动的当前状态,也就是现在有多宽
        // 开始执行 消失效果的动画
        $('div').stop().animate({ width: 0 }, 2000, 'linear', () => console.log('消失动画结束了'));
    })

一沙一世界,一花一天堂。君掌盛无边,刹那成永恒。