我想刷新一个div。 它应该有从它的服务器的新信息。 所有其他的答案假设你已经从你的$就要求得到新的数据,并告诉你的数据加载到您的div隐藏,并再次显示它,就像这样:
$("#panel").hide().html(data).fadeIn('fast');
我知道,我知道,我也许应该只是用Ajax获取数据。 但现在,我只想刷新格,而无需刷新页面,并没有把新的HTML入格。 这可能吗?
我想刷新一个div。 它应该有从它的服务器的新信息。 所有其他的答案假设你已经从你的$就要求得到新的数据,并告诉你的数据加载到您的div隐藏,并再次显示它,就像这样:
$("#panel").hide().html(data).fadeIn('fast');
我知道,我知道,我也许应该只是用Ajax获取数据。 但现在,我只想刷新格,而无需刷新页面,并没有把新的HTML入格。 这可能吗?
我只想刷新格,而无需刷新页面......这可能吗?
是的,尽管它是不会,除非你改变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的被刷新,因为它是淡入(),不褪色在我试图.toggle()。切换()和它的作品完美。 你可以尝试这样的
$("#panel").toggle().toggle();
它完美对我来说,因为我正在开发一个信使,需要最小化和最大化聊天框的,这确实是最好的,而不是上面的代码。