motto13
@motto13
Вечно молодой

Как переместить элемент в блоке вверх по клику?

Vue 3, Composition Api
<script setup>
const slide = ref(null);
function topSlide(number_slide) {
      slide.value = ref([`slaid-${number_slide}`])
}
</script>
<template>
<div>
   <div class="nav">
      <button @click="topSlide(1)">Слайд 1</button>
      <button @click="topSlide(2)">Слайд 2</button>
      <button @click="topSlide(3)">Слайд 3</button>
 </div>
  <div class="container-slaid">
   <div ref="slaid-1" class="p-4">
       <div class="title"> Слайд 1</div>
  </div>
   <div ref="slaid-2" class="p-4">
       <div class="title"> Слайд 2</div>
  </div>
   <div ref="slaid-3" class="p-4">
      <div class="title"> Слайд 3</div>
  </div>
  </div>
</div>
</template>

Как перемещать divы вверх в контейнере container-slaid по клику на соответствующие кнопки?
например по клику на button - Слайд 2, блок div ref="slaid-2" поднялся вверх
  • Вопрос задан
  • 53 просмотра
Решения вопроса 1
0xD34F
@0xD34F Куратор тега Vue.js
Данные слайдов сложить в массив. Сделать вычисляемое свойство - данные всех слайдов кроме верхнего. Создать верхний слайд, создать остальные слайды на основе вычисляемого свойства. Если нужна анимация перемещения, завернуть слайды в transition-group. Вот так всё просто.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы