如图,要实现这种效果可以使用JavaScript的数组api。
unshift():向数组的开头添加一个或更多元素,并返回新的长度。
shift():删除并返回数组的第一个元素。
splice() :删除元素,并向数组添加新元素。
push() :向数组的末尾添加一个或更多元素,并返回新的长度。
1.上移
moveUp(list, index) {
if (index != 0) {
list[index] = list.splice(index - 1, 1, list[index])[0];
} else {
list.push(list.shift());
}
},
2.下移
moveDown(list, index) {
if (index != list.length - 1) {
list[index] = list.splice(index + 1, 1, list[index])[0];
} else {
list.unshift(list.splice(index, 1)[0]);
}
},
3.置顶
toTop(list, index) {
if (index != 0) {
list.unshift(list.splice(index, 1)[0]);
}
},
4.置底
toBottom(list, index) {
if (index != list.length - 1) {
list.push(list.splice(index, 1)[0]);
}
}
list为列表数组,index为点击项的索引。