Наповнення JS розділу

Добридень, Пані та Панове, завдяки вам вдалося зібрати більше 19тис грн з необхідних 15тис на впровадження JS розділу.

JS розділ вже впроваджено - переходимо до його наповнення і почнемо бігти довгий марафон, адже JS має більше 1100 різноманітних методів, властивостей, подій і т.д., які необхідно описати.

Будемо працювати, і вдень, і вночі, щоб орієнтовно взимку закінчити наповнювати JS розділ!

Ви також можете допомогти нам в цьому. Долучайтеся до нашої спільноти в дискорді - ставайте її частиною і допомагайте нашому розвитку.

Також, підтримуйте нас матеріально.

JS властивість Event.dragend

Загальний опис

dragend — це подія, яка спрацьовує після того, як користувач завершив перетягування елемента. Подія dragend є частиною Drag and Drop API і дає змогу визначити, коли операція перетягування завершена, незалежно від того, чи була вона успішною (скидання елемента в цільовій зоні) чи скасованою (відпускання елемента поза цільовою зоною). Ця подія є корисною для очищення або відновлення стану елемента, з якого було розпочато перетягування, або для виконання додаткових дій, таких як запис у лог чи зворотний виклик.

Для використання події dragend розробник повинен додати обробник подій до елемента, який має бути перетягуваним. Наприклад:

const draggableElement = document.getElementById('draggable');

draggableElement.addEventListener('dragend', function(event) {
  event.target.style.opacity = '1';
  console.log('Перетягування завершено.');
});

У цьому прикладі, коли користувач завершить перетягування елемента з ідентифікатором draggable, його непрозорість буде відновлена до значення 1, а в консоль буде виведено повідомлення про завершення перетягування. Це може бути корисно для відновлення вихідного вигляду елемента або зміни стану після завершення перетягування.

Подія dragend працює в комбінації з іншими подіями, такими як dragstart (початок перетягування), drag (процес перетягування), dragover (елемент перетягується над допустимою областю), і drop (скидання елемента). Ці події дозволяють створювати повноцінні механізми перетягування та скидання на веб-сторінках, що забезпечує багатий користувацький досвід.

Подія dragend також може бути використана для видалення або зміни стилів, які були застосовані під час перетягування, таких як тіні, бордюри або фонові кольори. Це дозволяє розробникам надавати користувачам візуальні підказки під час перетягування, а потім відновлювати початковий стан елементів після завершення дії. Наприклад, можна видалити клас CSS, який додавав стиль тіні під час перетягування, або скинути координати елемента до вихідних значень.

Порада:

Переконайтеся, що ви також обробляєте події dragstart і dragend разом, щоб забезпечити плавний перехід між станами елементів. Наприклад, змініть зовнішній вигляд елемента на початку перетягування і відновіть його після завершення.

Порада:

Якщо ваш елемент змінює стиль під час перетягування (наприклад, стає напівпрозорим), використовуйте подію dragend для відновлення початкового стилю. Це забезпечить краще візуальне сприйняття для користувачів.

Порада:

Використовуйте dragend для скидання будь-яких тимчасових даних, що використовуються під час перетягування. Наприклад, ви можете очистити об'єкт DataTransfer або видалити тимчасові елементи, які були створені під час перетягування.

Синтаксис

element.addEventListener('dragend', function(event) {
  // Ваш код тут
});

Значення

Return

Переглядачі

Переглядач

66

57

11.1

53

16

Переглядач

66

66

57

11.3

Переглядач

15.0.0

1.0

Приклади


У цьому прикладі користувач може перетягувати різні елементи в цільову область. Подія dragend використовується для відновлення прозорості елемента після завершення перетягування. Якщо елемент успішно скинуто в область, збільшується лічильник, що відображає кількість успішних скидань. Кнопка "Очистити" дозволяє скинути лічильник і повернути елементи на початкову позицію, що робить інтерфейс більш динамічним і інтерактивним.

У цьому прикладі, коли користувач починає перетягувати елемент, його прозорість змінюється, щоб візуально показати стан перетягування. Після завершення перетягування прозорість повертається до вихідного значення, забезпечуючи плавний перехід між станами елемента.

const item = document.getElementById('draggableItem');

item.addEventListener('dragstart', function(event) {
  event.target.style.opacity = '0.5';
});

item.addEventListener('dragend', function(event) {
  event.target.style.opacity = '1';
  console.log('Перетягування завершено, стиль відновлено.');
});

У цьому прикладі, коли користувач починає перетягувати елемент, до нього додається тінь, щоб підкреслити перетягування. Після завершення перетягування тінь видаляється, а тимчасові дані очищуються, що забезпечує більш чистий і зрозумілий інтерфейс користувача.

const draggableBox = document.getElementById('draggableBox');

draggableBox.addEventListener('dragstart', function(event) {
  event.target.style.boxShadow = '5px 5px 15px rgba(0, 0, 0, 0.3)';
  event.dataTransfer.setData('text/plain', 'Перетягується елемент.');
});

draggableBox.addEventListener('dragend', function(event) {
  event.target.style.boxShadow = 'none';
  console.log('Перетягування завершено, тінь видалено.');
});