我有几个 DIV,其内容具有通过 AJAX 定期更新的数据权重属性。
我在循环中对它们进行排序,在循环中迭代来自 ajax 请求的新值。
因为数据权重可以随时更新为任何值,所以顺序可以从更新到更新完全改变。
我的排序逻辑似乎有缺陷(至少可以说;))因为它只将每个元素与其下一个元素进行比较,.next()
因此您必须单击“按数据权重排序”最大值。4 个元素 4 次,直到它们被排序(见下面的小提琴)
重要的是要知道要排序的 DIV 包含图像、视频等外部资源,因此重要的是它们被移动而不是重新创建,因为我认为当重新插入 DOM 时,包含的资源会重新加载这对我的用例来说是不可接受的。
由于很难描述和理解,这是我的小提琴:
更新
虽然主要问题解决了,但仍然存在一个问题,即当包含 fe Youtube-Videos 时,每次重新排序 DIV 时都会重新加载它们,即使视频在 DOM 中没有改变位置。a) 看起来很奇怪,b) 打断了视频播放。阅读有关该主题的更多信息,在 DOM 中移动 iframe 似乎总是让他们重新加载内容 - 这有多愚蠢?
Fiddle 使用 YT 视频的固定数据权重 1 进行更新,因此它始终保持在顶部。
非常欢迎想法!