我的侧边栏中有一个 block 。当调整到一定尺寸以下时,我把它放在我的主要内容中。当我调整回原始大小时,我希望它回到原来的位置。问题是,这个 block 位于不同页面侧边栏的不同位置。它总是只有一个,所以它有一个 ID,但有时它是第一个侧边栏元素,有时它是第二个。
当我再次调整页面大小时,如何将这个东西放回原来的位置?
例如,当我的页面小于 640px 宽时,#foo block 将使用 jQuery 移动到元素 #bar 下方。
$("#bar").after($("#foo"));
一切顺利。但是,当我调整回大于 640 像素宽的大小时,显然,除了 #foo
之外,所有内容都会弹回原位。我可以只在侧边栏中选择一个位置并始终将其放回原处,无论它来自侧边栏中的何处,但这并不好玩。
我知道可以使用 #baz :eq(n)
之类的东西来查找 #baz
中的第 n 个元素...有没有像 这样的方法>$("#baz").getOrdinalPosition($(".parent-of-baz"));
在移动之前找到 #baz
在其父元素中的位置,所以我知道把它放回哪里?
最佳答案
你可以只使用包装器 <div>
并将其放回包装器内以恢复其原来的位置,但我不太热衷于在 DOM 内移动元素。这通常不是做事的正确方法。最好有两个 block 实例并用 display:none/block
切换它们.
关于javascript - JQuery/JavaScript : How to put a thing back where it was on pageload?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19060745/