【问题标题】:Nested DIVs - Prevent inner DIV from refresh嵌套 DIV - 防止内部 DIV 刷新
【发布时间】:2013-07-21 13:23:12
【问题描述】:

我目前正在刷新一个 div,如下所示。

Main.php

    <script type="text/javascript">
    var auto_refresh = setInterval(
    function ()
    {
    $('#load_me').load('ajax.php').fadeIn("slow");
    }, 10000); // autorefresh the content of the div after
               //every 10000 milliseconds(10sec)
    </script>

然而,页面 ajax.php 有许多不应该刷新的 DIV。有没有办法做到这一点?也就是说,不惜一切代价防止特定 DIV 被刷新(使用它们的 ID)。

需要这样做的原因是,DIV 有文本框,在输入文本时会刷新。

【问题讨论】:

    标签: jquery html refresh


    【解决方案1】:

    您总是可以选择要刷新的元素,但相反的做法并忽略元素会更加复杂,尤其是如果这些元素嵌套在应该刷新的元素等中。

    var to_refresh = ['id1', 'id2', 'id3'];
    
    var auto_refresh = setInterval(function () {
        $.each(to_refresh, function(_,id) {
            $('#'+id).load('ajax.php #'+id).fadeIn("slow");
        });
    }, 1000);
    

    【讨论】:

    • 您能否进一步解释一下上述方法如何防止内部 div 被刷新?假设 id1 有 3 个内部 div。都必然会焕然一新。不是吗?
    • 是的,这就是为什么最好重新调整页面结构,以便定期刷新那些内部没有输入元素的 DIV。
    • 您根本无法刷新这样的元素,并期望子元素不会被刷新。不可能!这就是为什么您会花很多时间尝试过滤掉元素以不刷新具有大量嵌套的内容,相反,只针对应该刷新的元素会更容易。总而言之,你有一个设计缺陷,你根本不应该这样做,因为你应该创建标记,这样你就不需要做任何过滤,至少这是我的看法。跨度>
    猜你喜欢
    • 2021-09-07
    • 2017-04-03
    • 2023-03-11
    • 2021-06-16
    • 1970-01-01
    • 2017-01-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多