обновить 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();
он отлично работает для меня, поскольку я разрабатываю мессенджер и должен минимизировать и максимизировать чат-бокс, и это делает его лучше, чем приведенный выше код.