Rumah >hujung hadapan web >tutorial js >Mencipta Pengurus Tugas Seret-dan-Lepaskan Premium dengan Modal Intuitif

Mencipta Pengurus Tugas Seret-dan-Lepaskan Premium dengan Modal Intuitif

DDD
DDDasal
2024-11-25 20:08:15597semak imbas

Crafting a Premium Drag-and-Drop Task Manager with Intuitive Modals

Pengenalan
Alat pengurusan tugas interaktif berada di barisan hadapan aplikasi produktiviti, menggabungkan utiliti dengan antara muka yang mesra pengguna. Dalam artikel ini, kami akan mendalami pembangunan pengurus tugas drag-and-drop premium, lengkap dengan mod edit dan padam yang kemas. Dengan menggabungkan HTML, CSS dan JavaScript, projek ini menunjukkan cara menghasilkan alat yang menarik secara visual dan responsif sepenuhnya dengan interaktiviti lanjutan.

Sama ada anda mengurus tugas harian atau mengerjakan projek kerjasama, reka bentuk ini menawarkan keseimbangan fungsi dan estetika yang sempurna.

Pecahan Ciri

  1. Fungsi Seret dan Lepas Tulang belakang projek ini ialah sistem drag-and-drop yang membolehkan pengguna mengalihkan tugas dengan lancar antara kategori, seperti Tasks, In Progress dan Completed.

Pelaksanaan: Menggunakan acara dragstart dan dragend JavaScript bersama elemen DOM yang dikemas kini secara dinamik.
Pengalaman Pengguna (UX): Peralihan yang lancar dan kemas kini segera memastikan seret dan lepas terasa intuitif.

dropZones.forEach(zone => {
  zone.addEventListener('dragover', (e) => {
    e.preventDefault();
    const draggingItem = document.querySelector('.dragging');
    if (draggingItem) {
      zone.appendChild(draggingItem);
    }
  });
});
  1. Modal Tugas untuk Mengedit dan Memadam Setiap tugas termasuk mengedit dan memadam ikon yang mencetuskan mod yang sepadan, meningkatkan interaktiviti.

Edit Modal: Dibuka dengan kandungan tugasan semasa, membenarkan pengeditan dan penyimpanan yang lancar.
Modal Padam: Termasuk langkah pengesahan untuk mengelakkan pemadaman tidak sengaja.

function openEditModal(task) {
  currentTask = task;
  editTaskInput.value = task.querySelector('span').textContent;
  editModal.classList.remove('hidden');
}

function openDeleteModal(task) {
  currentTask = task;
  deleteModal.classList.remove('hidden');
}
  1. Reka Bentuk Responsif CSS memastikan pengurus tugas responsif sepenuhnya, menyesuaikan diri dengan saiz skrin yang berbeza sambil mengekalkan estetika premium.

Reka Letak Dinamik: Flexbox memastikan elemen disusun dengan bersih, tanpa mengira saiz peranti.
Animasi Tersuai: Peralihan dan kesan tuding memberikan pengalaman pengguna yang digilap.

@media (max-width: 768px) {
  .drag-zones {
    flex-direction: column;
  }

  .item .icons {
    top: 5px;
    right: 5px;
  }
}
  1. Estetik Premium Dengan latar belakang kecerunan, kesan tuding dan animasi tersuai, pengurus tugas memancarkan rupa moden dan profesional.

Penggayaan Kecerunan: Serlahkan bahagian utama, seperti butang dan latar belakang.
Box Shadows: Menambah kedalaman pada reka letak untuk rasa premium.
Panduan Kod
HTML
Strukturnya mudah, dengan elemen div untuk zon seret dan mod untuk interaksi pengguna. Teg semantik dan atribut ARIA meningkatkan kebolehaksesan.

<div>



<p>CSS<br>
Premium styling is achieved through gradients, hover effects, and responsive layouts.<br>
</p>

<pre class="brush:php;toolbar:false">:root {
  --bg-gradient: linear-gradient(45deg, #1e90ff, #ff7f50);
  --item-hover: #87ceeb;
  --highlight-color: #32cd32;
}

.item:hover {
  background: var(--highlight-color);
  transform: scale(1.05);
}

JavaScript
Mengendalikan penciptaan tugas, mengedit, memadam dan interaksi seret dan lepas.

document.addEventListener('click', (event) => {
  const target = event.target;

  if (target.classList.contains('edit-btn')) {
    openEditModal(target.closest('.item'));
  } else if (target.classList.contains('delete-btn')) {
    openDeleteModal(target.closest('.item'));
  }
});

Cara Ia Berfungsi
Menambah Tugas
Pengguna boleh memasukkan tugasan menggunakan butang Tambah Tugas, menambahkannya secara dinamik pada zon jatuh yang sepadan.

Tugas Mengedit
Mengklik ikon edit membuka modal dengan teks tugasan semasa telah diisi terlebih dahulu. Pengguna boleh mengubah suai dan menyimpan perubahan dengan mudah.

Memadamkan Tugas
Ikon padam mencetuskan mod pengesahan, memastikan tugasan tidak dialih keluar secara tidak sengaja.

Tugas Menyeret
Fungsi seret dan lepas membolehkan pengguna menyusun semula tugasan ke dalam zon berbeza, seperti beralih daripada "Tugas" kepada "Sedang Dijalankan."

Cabaran dan Penyelesaian
Tindanan Modal: Memastikan modal menonjol dan tidak mengganggu memerlukan pengurusan indeks z dan penggayaan yang teliti.
Pepijat Seret dan Lepaskan: Mengendalikan kes tepi, seperti item yang tercicir di luar zon yang ditetapkan, telah diselesaikan dengan mengesahkan zon sasaran.
Reka Bentuk Responsif: Mengimbangi estetika dan kebolehgunaan pada skrin yang lebih kecil memerlukan ujian yang meluas dan pertanyaan media.
Kesimpulan
Pengurus Tugas Seret-dan-Lepaskan Premium ini menggabungkan gaya dan bahan, menjadikannya tambahan yang sangat baik kepada mana-mana portfolio atau projek. Daripada ragam intuitif kepada animasi yang anggun, setiap perincian telah direka dengan mengambil kira pengalaman pengguna.

Ingin melihatnya beraksi? Lihat versi langsung dan percubaan dengan ciri seret dan lepas, pengeditan dan pemadaman.

? Demo Langsung: https://codepen.io/HanGPIIIErr/pen/GRVeLVv
? Teroka Lagi: Lawati GladiatorsBattle.com untuk reka bentuk interaktif epik dan permainan berasaskan pelayar.
? Kekal Kemas Kini: Ikuti kami di Twitter di @GladiatorsBT untuk kemas kini terkini dan kandungan di sebalik tabir.

Dengan berkongsi projek seperti ini, kami berhasrat untuk memberi inspirasi kepada pembangun untuk menggabungkan fungsi dengan reka bentuk yang menakjubkan. Jika anda mendapati ini berguna, beritahu kami, dan jangan ragu untuk mempamerkan pengurus tugas anda sendiri dalam ulasan di bawah! ?

Atas ialah kandungan terperinci Mencipta Pengurus Tugas Seret-dan-Lepaskan Premium dengan Modal Intuitif. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn