【问题标题】:jquery refresh content in a divjquery刷新div中的内容
【发布时间】:2012-09-16 05:56:03
【问题描述】:

我在一个 HTML 页面中有 2 个 div - 触发事件时需要刷新。 其中一个 div,如果 display:none 并且不会用新数据刷新。

不能刷新display:none div吗? 我的 JavaScript 在下面,

$('#messages_send').live('click', function() {
$.ajax({
    url: base_url + 'ajax/send_message',
    data: {
        username: $('#messages_username').val(),
        message: $('#messages_message').val(),
        saveid: $('#messages_savedid').val(),
    },
    success: function(data) {
        sending_message();

        var x = jQuery.parseJSON(data);

        if(x) {
            if(x.gp_id==80)
            {
                    $('#spn_ucredit').load(base_url + 'ajax/userdata/credits');
                    $('#overlay_credits').load(base_url + 'ajax/userdata/credits');
            }
        }
        //$('#spn_ucredit').html($('#ncd_id').val());
        //tmp_cost = $('#spn_ucredit').html()-$('#ncd_id').val();
        //$('#ncd_id').val($('#ncd_id').val()-tmp_cost);
        //alert(data);
        setTimeout(message_sent, 2000);
        setTimeout(remove_modal_box, 3000);
        setTimeout(message_revert, 3500);
        $("#saved_messages").load(base_url + 'messages #saved_messages > form');
        //setTimeout($("#messages_content").load(base_url + 'messages #messages_content > form'), 1000);
        //$.get(base_url + 'messages #saved_messages > form', null, function(result){ $("#saved_messages").html(result) });
        //$("#messages_content").css("visibility","hidden").show();
        //$.get(base_url + 'messages #messages_content > form', null, function(result){ $("#messages_content").html(result) });
        //$("#messages_content").css("visibility","visible").hide();
    }
});

return false;

});

【问题讨论】:

  • 你怎么知道数据没有刷新?你会在某个时候显示 div 吗?

标签: javascript jquery ajax xmlhttprequest


【解决方案1】:

使用 .hide() 可以编辑 div ,而设置 display:none 则更难

"匹配的元素会立即隐藏,没有动画。这大致相当于调用 .css('display', 'none'),只是 display 属性的值保存在 jQuery 的数据缓存中,这样display 可以稍后恢复到它的初始值。如果一个元素的 display 值为 inline,然后被隐藏并显示,它将再次被显示为 inline。"

因此,如果您能够恢复到以前的 display 值很重要,您最好使用 hide(),因为这样可以记住以前的状态。除此之外没有任何区别。

来自 jQuery 上的资源 .hide() Here

此外,还有一些关于此的问题 - Here's an example of one

【讨论】:

  • @ZathrusWriter - 添加来源
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-06-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多