為您解碼網(wǎng)站建設(shè)的點(diǎn)點(diǎn)滴滴
發(fā)表日期:2019-09 文章編輯:小燈 瀏覽次數(shù):4667
網(wǎng)上有很多使用 JavaScript 來(lái)模擬冒泡排序排序過(guò)程的動(dòng)畫(huà)。今天我們?cè)俳柚壳白罨鸬?Vue.js 來(lái)實(shí)現(xiàn)一個(gè)冒泡排序動(dòng)畫(huà)效果。
vue.js 是一款輕量級(jí)的漸進(jìn)式 JavaScript 框架,在實(shí)現(xiàn)動(dòng)畫(huà)效果方面非常方便。
本文實(shí)現(xiàn)的最終動(dòng)畫(huà)效果如下:
實(shí)現(xiàn)代碼非常的簡(jiǎn)單,總共不超過(guò)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><!-- 塔燈網(wǎng)絡(luò) www.xttblog.com --><script type="text/x-template" id="sort-card-template"><!-- 綁定內(nèi)聯(lián)樣式,通過(guò) height 和 transform 來(lái)顯示不同的div --><div class="card-wrapper" :data-sort-index="sortIndex" v-bind:style="{height: value * HEIGHT_INCREMENT + 'px',transform: 'translateX('+sortIndex*100+'%)'}"><!-- 通過(guò)改變class,來(lái)改變顏色 --><div class="card" :class="cardClassObject"><div class="value">{{value}}</div></div></div></script>
如果感興趣,還是老規(guī)矩,關(guān)注我的微信公眾號(hào),回復(fù)“vue冒泡排序”下載源碼!