用jquery刷新div

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)

  • 我将开始请愿终止这个'foo bar foobar'时代:) (33认同)
  • @ RokoC.Buljan:因为我们都知道互联网抗议活动有多么有效,特别是在改变文化模因[大约在50到80年之间](http://en.wikipedia.org/wiki/Foobar#History_and_etymology): ) (5认同)

小智 8

我尝试了第一个解决方案并且它可以工作,但最终用户可以很容易地识别div是刷新的,因为它是fadeIn(),没有淡入我试过.toggle().toggle()并且它工作完美.你可以这样试试

$("#panel").toggle().toggle();
Run Code Online (Sandbox Code Playgroud)

它对我来说很完美,因为我正在开发一个信使,需要最小化和最大化聊天框,这是最好的,而不是上面的代码.