0

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

不能刷新display:nonediv吗?我的 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;

});

4

1 回答 1

1

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

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

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

来自 jQuery 的.hide() 资源

另外,关于这个也有一些问题 -这是一个例子

于 2012-09-24T18:36:34.013 回答