RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / 问题 / 820150
Accepted
Randall
Randall
Asked:2020-04-27 18:44:10 +0000 UTC2020-04-27 18:44:10 +0000 UTC 2020-04-27 18:44:10 +0000 UTC

为什么 insertBefore 在给定条件之前交换元素

  • 772

我绞尽脑汁想了很久,还是没能解决问题。

如您所见,有 3 个引导程序块:simplecontainer和.container art-projectscontainer-design-projects

我写了一个交换两个元素的脚本:当宽度小于像素时swap-element,swap-el第二个块。art projects990

问题是它们甚至在990像素之前就发生了变化(从1005像素开始),这破坏了我的布局。

这是codepen的链接。

请帮忙,我很困惑,为什么会发生这种情况?

document.addEventListener("DOMContentLoaded", ()=> {
    let w = document.documentElement.clientWidth;
    if (w < 990) {
        swapElements();
    } 
    if (w >= 990){
        preventDefaultSwap();
    } 
})

window.onresize = () => {
    let w = document.documentElement.clientWidth;
    
        if (w < 990) {
            swapElements();
        } 
        if(w >= 990) {
            preventDefaultSwap();
        }
}
swapElements = () => {
    let swapElement = document.querySelector(".swap-element");
    let swapElementSecond = document.querySelector(".swap-el");
    let swapBlock = document.querySelector(".swap-block");

    swapBlock.insertBefore(swapElementSecond, swapElement);
}
preventDefaultSwap = () => {
    let swapElement = document.querySelector(".swap-element");
    let swapElementSecond = document.querySelector(".swap-el");
    let swapBlock = document.querySelector(".swap-block");

    swapBlock.insertBefore(swapElement, swapElementSecond);
}
<link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.0.0/css/bootstrap.css" rel="stylesheet"/>
<div class="container">
  <div class="row">
      <div class="container-fluid">
          <div class="row">
              <h1 class="block-title">what we do?</h1>
          </div>
      </div>
      <div class="col-sm-12 col-md-12 col-lg-6 col-xl-6 style-block" style="padding-left: 0 !important;">
          <div class="img-holder">
              <a href="https://placeholder.com">
                  <img class="empty-img" src="http://via.placeholder.com/560x560">
              </a>
          </div>
      </div>
      <div class="col-sm-12 col-md-12 col-lg-5 col-xl-5 offset-lg-1 offset-xl-1 description" >
          <div class="about-project">
              <div class="project-title">
                  <h4 class="title">creative</h4>
                  <h1 class="bold-title">kitchen</h1>
              </div>

              <div class="project-content">
                  <p>Lorem ipsum, dolor sit amet consectetur adipisicing elit. Expedita, culpa ab maiores debitis, non ipsa voluptatem vel ipsum modi ex rem magni, ad labore. Maiores facilis  accusamus voluptatum nemo eius?</p>
                  <p>Lorem ipsum, dolor sit amet consectetur adipisicing elit. Expedita, culpa ab maiores debitis, non ipsa voluptatem vel ipsum modi ex rem magni, ad labore. Maiores facilis   accusamus voluptatum nemo eius?</p>
              </div>
              <div class="project-btn-holder">
                  <button class="learn-more">
                      <a href="/">Learn more</a></button>
              </div>
          </div>
      </div>
  </div>
</div>

<div class="container art-projects">
  <div class="row swap-block">
      <div class="col-sm-12 col-md-12 col-lg-5 col-xl-5 description swap-element no-padding">
          <div class="art-project">
              <div class="art-project-title">
                  <h4 class="art-title">art</h4>
                  <h1 class="art-bold-title">installation</h1>
              </div>

              <div class="art-project-content">
                  <p>Lorem ipsum, dolor sit amet consectetur adipisicing elit. Expedita, culpa ab maiores debitis, non ipsa
                      voluptatem vel ipsum modi ex rem magni, ad labore. Maiores facilis accusamus voluptatum nemo eius?</p>
                  <p>Lorem ipsum, dolor sit amet consectetur adipisicing elit. Expedita, culpa ab maiores debitis, non ipsa
                      voluptatem vel ipsum modi ex rem magni, ad labore. Maiores facilis accusamus voluptatum nemo eius?</p>
              </div>
              <div class="art-project-btn-holder">
                  <button class="art-learn-more">
                      <a href="/">Learn more</a>
                  </button>
              </div>
          </div>
      </div>
      <div class="col-sm-12 col-md-12 col-lg-6 col-xl-6 offset-lg-1 offset-xl-1 style-block swap-el" style="padding-right:0!important;">
          <div class="art-img-holder">
              <a href="https://placeholder.com">
                  <img class="art-empty-img" src="http://via.placeholder.com/560x560">
              </a>
          </div>
      </div>
  </div>
</div>
<div class="container design-projects">
  <div class="row">
      <div class="col-sm-12 col-md-12 col-lg-6 col-xl-6 style-block" style="padding-left: 0 !important;">
          <div class="design-img-holder">
              <a href="https://placeholder.com">
                  <img class="design-empty-img" src="http://via.placeholder.com/560x560">
              </a>
          </div>
      </div>
      <div class="col-sm-12 col-md-12 col-lg-5 col-xl-5 offset-lg-1 offset-xl-1 description">
          <div class="design-project">
              <div class="design-project-title">
                  <h4 class="design-title">print</h4>
                  <h1 class="design-bold-title">design</h1>
              </div>

              <div class="design-project-content">
                  <p>Lorem ipsum, dolor sit amet consectetur adipisicing elit. Expedita, culpa ab maiores debitis, non ipsa
                      voluptatem vel ipsum modi ex rem magni, ad labore. Maiores facilis accusamus voluptatum nemo eius?</p>
                  <p>Lorem ipsum, dolor sit amet consectetur adipisicing elit. Expedita, culpa ab maiores debitis, non ipsa
                      voluptatem vel ipsum modi ex rem magni, ad labore. Maiores facilis accusamus voluptatum nemo eius?</p>
              </div>
              <div class="design-project-btn-holder">
                  <button class="des-learn-more">
                      <a href="/">Learn more</a>
                  </button>
              </div>
          </div>
      </div>
  </div>
</div>

javascript
  • 1 1 个回答
  • 10 Views

1 个回答

  • Voted
  1. Best Answer
    Grundy
    2020-04-28T02:21:42Z2020-04-28T02:21:42Z

    滚动条不是 的一部分document.documentElement,它在窗口内,所以宽度也必须取自窗口:window.innerWidth

    • 2

相关问题

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    是否可以在 C++ 中继承类 <---> 结构?

    • 2 个回答
  • Marko Smith

    这种神经网络架构适合文本分类吗?

    • 1 个回答
  • Marko Smith

    为什么分配的工作方式不同?

    • 3 个回答
  • Marko Smith

    控制台中的光标坐标

    • 1 个回答
  • Marko Smith

    如何在 C++ 中删除类的实例?

    • 4 个回答
  • Marko Smith

    点是否属于线段的问题

    • 2 个回答
  • Marko Smith

    json结构错误

    • 1 个回答
  • Marko Smith

    ServiceWorker 中的“获取”事件

    • 1 个回答
  • Marko Smith

    c ++控制台应用程序exe文件[重复]

    • 1 个回答
  • Marko Smith

    按多列从sql表中选择

    • 1 个回答
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Suvitruf - Andrei Apanasik 什么是空? 2020-08-21 01:48:09 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5