网上有很多使用 JavaScript 来模拟冒泡排序排序过程的动画。今天我们再借助目前最火的 Vue.js 来实现一个冒泡排序动画效果。
vue.js 是一款轻量级的渐进式 JavaScript 框架,在实现动画效果方面非常方便。
本文实现的最终动画效果如下:

实现代码非常的简单,总共不超过100行。主要代码如下:
<div id="app">
<div class="cards">
<sort-card v-for="(card, index) in store.state.cards" :key="index" :value="card.value" :sort-index="card.sortIndex" :is-active="card.isActive" :is-locked="card.isLocked"></sort-card>
</div>
<div class="control-panel">
<h1>Bubble Sort Visualizer</h1>
<button aria-label="Reset" v-if="store.state.done" @click="reset(SORT_ARRAY)">
<i class="fa fa-refresh" aria-hidden="true"></i>
</button>
</div>
</div>
<!-- www.xttblog.com -->
<script type="text/x-template" id="sort-card-template">
<!-- 绑定内联样式,通过 height 和 transform 来显示不同的div -->
<div class="card-wrapper" :data-sort-index="sortIndex" v-bind:style="{height: value * HEIGHT_INCREMENT + 'px',transform: 'translateX('+sortIndex*100+'%)'}">
<!-- 通过改变class,来改变颜色 -->
<div class="card" :class="cardClassObject">
<div class="value">{{value}}</div>
</div>
</div>
</script>
如果感兴趣,还是老规矩,关注我的微信公众号,回复“vue冒泡排序”下载源码!

: » Vue.js 仿冒泡排序排序过程动画效果
原创文章,作者:sunnyman218,如若转载,请注明出处:https://blog.ytso.com/tech/aiops/251381.html