最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Javascript實現(xiàn)拖拽排序的代碼

 更新時間:2022年09月22日 16:31:11   作者:zhaojiancheng  
這篇文章主要介紹了Javascript實現(xiàn)拖拽排序的代碼,本文在vue運行環(huán)境下給大家演示下效果圖,對js拖拽排序實例代碼感興趣的朋友跟隨小編一起看看吧

運行環(huán)境:vue3.2以上,復制張貼運行即可看效果
效果如下:

<template>
  <div class="container">
    <transition-group name="flip-list">
      <div v-for="item in items" :key="item" draggable="true" class="items" @dragstart="dragstart(item)"
        @dragenter="dragenter(item)" @dragend="dragend">{{item}}</div>
    </transition-group>
  </div>
</template>
 
<script setup>
import { ref } from "vue";
const items = ref([1, 2, 3, 4, 5, 6, 7, 8, 9])
const oldNum = ref(0)
const newNum = ref(0)
// 記錄初始信息
const dragenter = (param) => {
  newNum.value = param
}
// 做最終操作
const dragend = () => {
  if(oldNum.value !== newNum.value){
    const oldIndex = items.value.indexOf(oldNum.value)
    const newIndex = items.value.indexOf(newNum.value)
    const newItems = [...items.value]
    // 刪除老的節(jié)點
    newItems.splice(oldIndex,1)
    // 在列表中目標位置增加新的節(jié)點
    newItems.splice(newIndex,0,oldNum.value)
    // items改變transition-group就會起作用
    items.value = [...newItems]
  }
}
// 記錄移動過程中信息
const dragstart = (param) => {
  oldNum.value = param;
}
</script>
<style scoped>
.items {
  width: 300px;
  height: 50px;
  line-height: 50px;
  text-align: center;
  background: linear-gradient(45deg, #234, #567);
  color: pink;
}
 
.flip-list-move {
  transition: transform 1s;
}
</style>

到此這篇關于Javascript實現(xiàn)拖拽排序的文章就介紹到這了,更多相關js拖拽排序內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

最新評論

临清市| 陈巴尔虎旗| 太保市| 洪江市| 金乡县| 甘泉县| 游戏| 曲松县| 桂阳县| 多伦县| 定陶县| 桦南县| 龙门县| 柳林县| 万全县| 全州县| 武威市| 娱乐| 罗平县| 平乐县| 青川县| 确山县| 平塘县| 屏山县| 浦县| 普兰店市| 榆社县| 翁牛特旗| 抚顺市| 晋宁县| 南华县| 陕西省| 福州市| 碌曲县| 偃师市| 承德县| 灌南县| 会理县| 平阳县| 都昌县| 鄯善县|