|
|
|
drag & drop rollback
|
|||
|---|---|---|---|
|
#18+
Добрый день уважаемые спецы! Прохожу курс javascript. На данном этапе drag & drop. Подскажите пожалуйста как поправить функцию rollback() чтобы иконки плавно перемещались на исходное место при неудачном переносе на цель. Разметка и стили: Код: html 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. Java Script: Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. Не могу понять почему не получается таким способом: Код: javascript 1. 2. 3. 4. 5. 6. Получается только если назначить left и top с выдержкой ноль, при этом приходится менять и логику события mouseup и не очищать полностью объект а только лишь свойства elem и avatar (dragObject.elem = null; dragObject.avatar = null). Но это целая история и кроме всего иконка не становится точно на свое место, придется еще назначать каждой иконке обработчик события ontransitionend и там прописывать все остальное. Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. Подскажите пожалуйста как можно проще поправить rollback чтобы плавно откатывалась на свое место. И если не сложно подскажите почему мой способ работает только с выдержкой ноль а без этого нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2017, 20:03 |
|
||
|
drag & drop rollback
|
|||
|---|---|---|---|
|
#18+
hVostt, Да это библиотека. Я же учу чистый javascrip. Вопрос по чистому javascript ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2017, 22:54 |
|
||
|
drag & drop rollback
|
|||
|---|---|---|---|
|
#18+
vdekameron, ну.. 1. библиотеку (коих вагон и тележка) можно поковырять и посмотреть как оно устроено, изучение чужих удачных исходников приносит большую пользу и интегрируется в ваш опыт 2. если хотите получить помощь на своём примере, то почему бы вам не оформить пример на том же jsfiddle.net , чтобы можно было потыкать, внести исправления и дать вам рабочий форк, объяснив проблему? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2017, 23:10 |
|
||
|
drag & drop rollback
|
|||
|---|---|---|---|
|
#18+
hVostt2. если хотите получить помощь на своём примере, то почему бы вам не оформить пример на том же jsfiddle.net , чтобы можно было потыкать, внести исправления и дать вам рабочий форк, объяснив проблему? Я так понимаю этот сайт для того, чтобы там пробовать варианты. Так какая разница. Я локально у себя пробую. Рабочий вариант нашел, я же писал об этом. Там слишком много менять нужно. Автор написал что там как-то просто можно. Вот и спросил тут. Скинул и стили и разметку и сам код. Может я просто не вижу легкого решения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2017, 23:33 |
|
||
|
drag & drop rollback
|
|||
|---|---|---|---|
|
#18+
vdekameronЯ так понимаю этот сайт для того, чтобы там пробовать варианты. Так какая разница. Я локально у себя пробую. Рабочий вариант нашел, я же писал об этом. Там слишком много менять нужно. Автор написал что там как-то просто можно. Вот и спросил тут. Скинул и стили и разметку и сам код. Может я просто не вижу легкого решения. как хотите. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2017, 00:00 |
|
||
|
drag & drop rollback
|
|||
|---|---|---|---|
|
#18+
hVosttкак хотите. Но все-равно спасибо за желание помочь. Я все же хочу нормально разобраться с чистым javascript. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2017, 08:43 |
|
||
|
drag & drop rollback
|
|||
|---|---|---|---|
|
#18+
vdekameronЯ все же хочу нормально разобраться с чистым javascript. Вот статейка на эту тему... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2017, 08:53 |
|
||
|
drag & drop rollback
|
|||
|---|---|---|---|
|
#18+
krvsa Вот статейка на эту тему... Именно по этому автору я сейчас учусь. Но это статейка не про это а про анимацию. Вопрос же про drag & drop. Там конкретную функцию нужно поправить. Есть 2 конкретных вопроса, буду признателен тому, кто попробует вникнуть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2017, 10:53 |
|
||
|
drag & drop rollback
|
|||
|---|---|---|---|
|
#18+
Сначала ты писал vdekameronкак поправить функцию rollback() чтобы иконки плавно перемещались на исходное место при неудачном переносе на цель А это как раз анимация... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2017, 13:31 |
|
||
|
drag & drop rollback
|
|||
|---|---|---|---|
|
#18+
krvsaА это как раз анимация... Я к тому, что рассматривать всю обширную тему анимации нет смысла. Там же все просто....свойство transition. Только почему-то оно срабатывает только когда свойства top и left назначаю через интервал времени с нулем. Не могу понять почему. Тогда приходится и логику onmouseup переделывать. Короче думал может кто-то увидит более легкое решение. Я понимаю что все занятые и времени нет, мало ли может кто-то сталкивался именно с этим примером ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2017, 14:25 |
|
||
|
drag & drop rollback
|
|||
|---|---|---|---|
|
#18+
vdekameron, я тоже пишу на чистом JavaScript. То надо таблицы с группировками сделать, то выпадающие списки с галочками и прочими удобствами... Для этого надо найти фреймворк, изучить, помучиться с подгонкой под нужные требования. Проще самому сделать, да и страница быстрее грузиться будет Drag and Drop изучал по https://www.w3schools.com/html/html5_draganddrop.asp А может ну её, эту анимацию? Пользователей часто раздражают эти лишние движения по экрану. Им надо работу быстрее сделать, а тут при промахе, ещё ненужные замедлители... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2017, 15:13 |
|
||
|
drag & drop rollback
|
|||
|---|---|---|---|
|
#18+
user89Drag and Drop изучал по https://www.w3schools.com/html/html5_draganddrop.asp Так это стандартный drag & drop встроенный в HTML5. Он довольно сильно ограничен по возможностям. user89А может ну её, эту анимацию? Пользователей часто раздражают эти лишние движения по экрану. Им надо работу быстрее сделать, а тут при промахе, ещё ненужные замедлители... Я идеалист. Согласен про быстродействие...но наряду с быстродействием хочется еще приятный функционал...например возврат в 0.2 секунды думаю не затратит много времени, зато намного приятнее чем мгновенный отскок. Ну это мое мнение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2017, 21:47 |
|
||
|
drag & drop rollback
|
|||
|---|---|---|---|
|
#18+
vdekameronЯ идеалист. Согласен про быстродействие...но наряду с быстродействием хочется еще приятный функционал...например возврат в 0.2 секунды думаю не затратит много времени, зато намного приятнее чем мгновенный отскок. Ну это мое мнение. Не обязательно «возвращать» объект на своё место. Можно сделать движение с быстрым снижением opacity до нуля в сторону прошлой позиции, а затем какой-нибудь эффект bounce. Красиво так варпнулся ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2017, 16:51 |
|
||
|
drag & drop rollback
|
|||
|---|---|---|---|
|
#18+
hVosttНе обязательно «возвращать» объект на своё место. Можно сделать движение с быстрым снижением opacity Спасибо за советы. Можно много что придумать, но мне хочется именно так сделать как у меня не получилось, узнать причину почему. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2017, 20:41 |
|
||
|
drag & drop rollback
|
|||
|---|---|---|---|
|
#18+
vdekameronhVosttНе обязательно «возвращать» объект на своё место. Можно сделать движение с быстрым снижением opacity Спасибо за советы. Можно много что придумать, но мне хочется именно так сделать как у меня не получилось, узнать причину почему. Ну так соорудите песочницу на jsfiddle или ещё где и давайти сюда. Вроде уже и намекал, и прямо говорил... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2017, 20:45 |
|
||
|
drag & drop rollback
|
|||
|---|---|---|---|
|
#18+
vdekameronстандартный drag & drop встроенный в HTML5. Он довольно сильно ограничен по возможностям.я б сказал ужасно ограничен. и при клике по перемещаемому элементу , элемент становится прозрачным, и как изменить эту прозрачность фиг знает, как бы не было большим желанием его использовать - это дело очень и очень дохлое ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2017, 22:26 |
|
||
|
drag & drop rollback
|
|||
|---|---|---|---|
|
#18+
hVosttНу так соорудите песочницу на jsfiddle или ещё где и давайти сюда. Вроде уже и намекал, и прямо говорил... Извините, я не понял намеков. Я подумал вы имели в виду сделай в писочнице и ищи решение там))). Я уже даже не надеялся что кто-то захочет посмотреть. https://jsfiddle.net/xqtf1jb6/2/ Еще раз повторю 2 основных вопроса, чтобы вы не листали: 1) Как можно проще поправить rollback чтобы иконки плавно откатывались на стартовую позицию при неудачном переносе. 2) Почему моим способом не получается? vdekameronНе могу понять почему не получается таким способом: Код: javascript 1. 2. 3. 4. 5. 6. vdekameronПолучается только если назначить left и top с выдержкой ноль, при этом приходится менять и логику события mouseup и не очищать полностью объект а только лишь свойства elem и avatar (dragObject.elem = null; dragObject.avatar = null). Но это целая история и кроме всего иконка не становится точно на свое место, придется еще назначать каждой иконке обработчик события ontransitionend и там прописывать все остальное. Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2017, 00:14 |
|
||
|
drag & drop rollback
|
|||
|---|---|---|---|
|
#18+
vdekameron, держи https://jsfiddle.net/xqtf1jb6/5/ изрядно ты перемудрил конечно, всё ещё сильнее можно было упростить, но мне лень :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2017, 15:33 |
|
||
|
drag & drop rollback
|
|||
|---|---|---|---|
|
#18+
hVosttещё один фикс https://jsfiddle.net/xqtf1jb6/6/ Блин че-то я реально тупанул. Спасибо тебе огромное!!!!!! Особенно мне понравились комментарии))) "НАХЕР НЕ НАДО"))) Можешь объяснить почему работает только через setTimeout???? причем и с нулем тоже работает, ты почему-то использовал 50мс ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2017, 23:48 |
|
||
|
drag & drop rollback
|
|||
|---|---|---|---|
|
#18+
vdekameronБлин че-то я реально тупанул. Спасибо тебе огромное!!!!!! Особенно мне понравились комментарии))) "НАХЕР НЕ НАДО"))) это был не простой день с большим количеством ревью кода, где вот так не напишешь )) vdekameronМожешь объяснить почему работает только через setTimeout???? причем и с нулем тоже работает, ты почему-то использовал 50мс 50 мс — комфортная задержка перед началом анимации, имитация некой инерционности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2017, 00:02 |
|
||
|
drag & drop rollback
|
|||
|---|---|---|---|
|
#18+
hVostt50 мс — комфортная задержка перед началом анимации, имитация некой инерционности. Ну так почему не работает без задержки? Вот простейший пример где задержка совсем не обязательна для анимации. https://jsfiddle.net/zzs03L0n/3/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2017, 00:21 |
|
||
|
drag & drop rollback
|
|||
|---|---|---|---|
|
#18+
vdekameronНу так почему не работает без задержки? Вот простейший пример где задержка совсем не обязательна для анимации. https://jsfiddle.net/zzs03L0n/3/ без задержки можно ещё так window.scrollBy(0, 0); почему требуется задержка, почитай про repaint / reflow и оптимизации браузера вот статейка на тему https://habrahabr.ru/post/224187/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2017, 08:24 |
|
||
|
drag & drop rollback
|
|||
|---|---|---|---|
|
#18+
hVosttпочему требуется задержка, почитай про repaint / reflow и оптимизации браузера вот статейка на тему https://habrahabr.ru/post/224187/ Более-менее разобрался. Спасибо большое за разъяснения и за коррекцию кода. Тут тоже разобрался. Все намного оказалось проще чем пытался намудрить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2017, 14:59 |
|
||
|
|

start [/forum/topic.php?fid=22&msg=39567378&tid=1444351]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
176ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
| others: | 14ms |
| total: | 281ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...