javascript - 更改移动设备的 DOM 堆叠顺序

标签 javascript jquery mobile responsive-design

想知道如何使用 jQuery 更改移动设备的 DOM 堆叠顺序,这样我们就不必使用 php。目前我正在尝试:

jQuery(document).ready(function(){

jQuery(window).resize(function() {

if (jQuery(window).width() < 768) {
    var sidebar1 = document.getElementById("sidebar1");
    var body = document.getElementById("right");
    jQuery(sidebar1).after( jQuery(right) );
    } 

    });
});

HTML:

<div class="row-fluid">
   <div id="sidebar1" class="span3">
   <div id="right" class="span9">

我可能需要使用 insertAfter 或 prepend,但不确定。谢谢

最佳答案

您不必在 DOM 中重新排序这些元素,您可以使用 CSS 和媒体查询来实现您所需要的:

@media screen and(max-width: 768px){
    #sidebar1 { float:right; }
    #right { float: left; }
}

[edit] 我看到您可能使用 bootstrap,因此内容可能会线性化,并且 #sidebar 出现在 #right 上方(我认为这是主要内容)小屏幕。如果是这种情况,则将它们交换到原始源中,因为将主要内容放在文档源中的较高位置通常是一个好习惯。然后使用 float 来创建平板电脑/桌面版本的列。 Bootstrap 甚至有一个类名:

<div class="row-fluid">
   <div id="right" class="span9 pull-right">
   <div id="sidebar1" class="span3">

关于javascript - 更改移动设备的 DOM 堆叠顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18701439/

相关文章:

javascript - 如何将其传递到 jquery .change 事件中

javascript - 尝试使用 JQuery 加载本地 JSON 文件以在 html 页面中显示数据

java - 有没有办法在 Android Studio 中获取给定项目的 Activity 流程图?

jQuery 按钮点击不起作用

javascript - ExtJS 4.2 散点图系列

javascript - 具有可变高度的粘性标题

javascript - Angular2 : [routerLinkActive] ="[' active']"not updating on _router. 导航

javascript - 如何正确使用正则表达式

javascript - css/jquery - 需要持久页脚而不使用位置 :fixed

android - 移动网站 - 在原生 Android 浏览器上无法正确调整大小(并且不能始终获得键盘焦点),在 Chrome 上可以