Wal*_*Cat 18 html javascript jquery refresh
我想刷一个div.它应该从服务器上获得新信息.所有其他答案都假设您已从$ .ajax请求中获取新数据并告诉您将该数据加载到div上,隐藏它并再次显示它,如下所示:
$("#panel").hide().html(data).fadeIn('fast');
Run Code Online (Sandbox Code Playgroud)
我知道,我知道,我可能应该只使用Ajax获取数据.但是现在,我想刷新div,而不刷新页面,也不需要在div中添加新的HTML.这可能吗?
Mer*_*ham 36
我想刷新div而不刷新页面......这可能吗?
是的,虽然除非你改变div的内容,否则它不会显而易见.
如果您只想要图形淡入效果,只需删除.html(data)通话:
$("#panel").hide().fadeIn('fast');
Run Code Online (Sandbox Code Playgroud)
这是一个你可以搞乱的演示:http://jsfiddle.net/ZPYUS/
它更改div的内容,而不对服务器进行ajax调用,也不刷新页面.但内容是硬编码的.如果不以某种方式联系服务器,你就无法做任何事情:ajax,某种子页面请求或某种页面刷新.
HTML:
<div id="panel">test data</div>
<input id="changePanel" value="Change Panel" type="button">?
Run Code Online (Sandbox Code Playgroud)
JavaScript的:
$("#changePanel").click(function() {
var data = "foobar";
$("#panel").hide().html(data).fadeIn('fast');
});?
Run Code Online (Sandbox Code Playgroud)
CSS:
div {
padding: 1em;
background-color: #00c000;
}
input {
padding: .25em 1em;
}?
Run Code Online (Sandbox Code Playgroud)
小智 8
我尝试了第一个解决方案并且它可以工作,但最终用户可以很容易地识别div是刷新的,因为它是fadeIn(),没有淡入我试过.toggle().toggle()并且它工作完美.你可以这样试试
$("#panel").toggle().toggle();Run Code Online (Sandbox Code Playgroud)
它对我来说很完美,因为我正在开发一个信使,需要最小化和最大化聊天框,这是最好的,而不是上面的代码.