Перестройка / сортировка DIV без повторной вставки в DOM
У меня есть несколько DIV с содержимым, у которого есть data-weight-attribute, который регулярно обновляется через AJAX.
Я сортирую их в цикле, где перебираю новые значения, поступающие из ajax-запроса.
Поскольку вес данных может быть обновлен в любое время до любого значения, порядок может полностью измениться от обновления к обновлению.
Моя логика сортировки кажется ошибочной (если не сказать больше;)), потому что она сравнивает каждый элемент только с его следующим.next()
поэтому вы должны нажать «Сортировать по весу данных» макс. 4 раза по 4 элемента, пока они не отсортированы (см. Скрипку ниже)
Важно знать, что сортируемые DIV-файлы содержат внешние ресурсы, такие как изображения, видео и т. Д., Поэтому важно, чтобы они перемещались, а не создавались заново, потому что я думаю, что при повторной вставке в DOM содержащиеся ресурсы повторно загружаются что неприемлемо для моего варианта использования.
Как это трудно описать и, возможно, понять, вот моя скрипка:
Обновить
Хотя основная проблема решена, все еще существует проблема, когда, например, Youtube-видео включены, они перезагружаются каждый раз при переупорядочении DIV, даже если видео не меняется в DOM. Это а) выглядит странно и б) прерывает воспроизведение видео. Читая больше о теме, перемещение фреймов в DOM всегда заставляет их перезагружать свой контент - насколько это глупо?
Fiddle обновляется с фиксированным весом данных 1 для YT-видео, поэтому он всегда остается на вершине.
Идеи очень приветствуются!