首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jquery .insertAfter -可以移动元素,但不能将其移回

jquery .insertAfter -可以移动元素,但不能将其移回
EN

Stack Overflow用户
提问于 2013-07-26 14:10:13
回答 2查看 357关注 0票数 1

在我的模板上,我有一个右边的侧边栏容器,当在响应(移动)视图中需要移动到页面顶部时。因为这个容器在DOM中较低,所以它显示在我所有的内容下面。我写了这个脚本来移动它,问题是当你在窗口大小之间切换时,它不会移动。(对我来说有点烦人的bug,用户永远不会看到)

有关这种行为的活生生的例子可以在http://sandbox.dev.activemls.com/agent/上找到。

这是我的代码:

代码语言:javascript
复制
var moveSidebar = function() {
    var windowsize = $(window).width(),
        isDesktop = windowsize > 765;
    if(!isDesktop) {
        $('#sidebar-3').insertAfter($('#sidebar-1'));
    }
    else if (isDesktop) {
        $('#sidebar-3').insertAfter($('#moveSidebar'));
    }    
}
$(document).ready(moveSidebar);
$(window).on("resize.showContent", moveSidebar);
moveSidebar();

然后html看起来如下所示:

代码语言:javascript
复制
<div id="sidebar-1">
     <!--sidebar content-->
</div>
<div id="sidebar-2">
     <!--sidebar content-->
</div>
<div id="moveSiderbar">
     <div id="sidebar-3" class="well well-small">
          <!--sidebar content-->
     </div>
</div>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-07-26 14:18:31

您有不同的ids:

代码语言:javascript
复制
<div id="moveSiderbar">

$('#sidebar-3').insertAfter($('#moveSidebar'));

改变其中一个,它就能工作。

票数 4
EN

Stack Overflow用户

发布于 2013-07-26 14:23:27

将id从“moveSiderbar”更改为“moveSidebar”,或者改为“moveSidebar”。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17883617

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档