обновить div с помощью jquery

Я хотел бы обновить div. На нем должна быть новая информация с сервера. Все остальные ответы предполагают, что вы получили новые данные от своего $.ajax запрашивает и говорит вам загрузить эти данные на свой div, скрыть его и показать его снова, например:

$("#panel").hide().html(data).fadeIn('fast');

Я знаю, я знаю, я, вероятно, должен просто получить данные с Ajax. Но прямо сейчас я хочу просто обновить div, не обновляя страницу и не помещая новый HTML в div. Возможно ли это?

2 ответов


Я хочу просто обновить div, не обновляя страницу ... Возможно ли это?

да, хотя не будет очевидно, что он что-то делает, если вы не измените содержимое div.

если вы просто хотите графический эффект затухания, просто удалите .html(data) звоните:

$("#panel").hide().fadeIn('fast');

вот демо вы можете возиться с:http://jsfiddle.net/ZPYUS/

он изменяет содержимое div без вызова ajax на сервер и без обновления страницы. Однако содержание жестко закодировано. Вы ничего не можете сделать с этим фактом, не связавшись с сервером: ajax, какой-то запрос подстраницы или какое-то обновление страницы.

HTML-код:

<div id="panel">test data</div>
<input id="changePanel" value="Change Panel" type="button">​

javascript:

$("#changePanel").click(function() {
    var data = "foobar";
    $("#panel").hide().html(data).fadeIn('fast');
});​

css:

div {
    padding: 1em;
    background-color: #00c000;
}

input {
    padding: .25em 1em;
}​

я попробовал первое решение, и оно работает, но конечный пользователь может легко определить, что div освежают, поскольку это fadeIn (), без затухания я попытался .коленчатый рычаг.)(toggle () и работает отлично. вы можете попробовать так

$("#panel").toggle().toggle();

он отлично работает для меня, поскольку я разрабатываю мессенджер и должен минимизировать и максимизировать чат-бокс, и это делает его лучше, чем приведенный выше код.