【问题标题】:JQuery prepend takes a second to enter div on page loadJQuery prepend 需要一秒钟才能在页面加载时输入 div
【发布时间】:2021-02-16 17:21:40
【问题描述】:

我有一个列表导航,我希望它位于我已经实现的网页上的另一个 div 中(特别是在列中)。问题是在页面加载时(瞬间),它会在 JQuery 脚本执行到所需位置之前出现在实际位置上。如何停止页面加载时的瞬间跳转?

<div id="target">
<ul>
  <li></li>
  <li></li>
  <li></li>
  <li></li>
</ul>
</div>
$( document ).ready(function(){
$('#destination').prepend( $('#target') );
});

【问题讨论】:

    标签: javascript html jquery css


    【解决方案1】:

    如果您开始隐藏元素,并且仅在将其移动到新目的地时显示它,它将避免您看到的一些闪烁

    $( document ).ready(function(){
        $('#destination').prepend( $('#target').show() );
    });
    #destination {
      background-color:blue
    }
    #target {
      display:none
    }
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    <div id="target">
    <ul>
      <li>a</li>
      <li>a</li>
      <li>a</li>
      <li>a</li>
    </ul>
    </div>
    
    <div id="destination"></div>

    【讨论】:

    • 想知道 JQuery 根是否比 Java Script 版本更稳定。感谢您浏览此 Jamiec,它非常有用!
    • 或者只是在 CSS 中添加 #destination #target { display: block; } 以防止使用 .show() 的内联样式
    • 再次感谢 Jamiec。想知道是否有人知道 JQuery prepend 的 vanilla js 版本?
    • @Lan.m insertBefore 也许。
    猜你喜欢
    • 2016-01-18
    • 1970-01-01
    • 2019-04-19
    • 1970-01-01
    • 2021-09-09
    • 2019-02-05
    • 1970-01-01
    • 2014-08-15
    • 1970-01-01
    相关资源
    最近更新 更多