我想刷新一個div。它應該有來自服務器的新信息。所有其他的答案假設你已經從你的$就要求得到新的數據,並告訴你的數據加載到您的div隱藏,並再次顯示它,就像這樣:用jquery刷新div
$("#panel").hide().html(data).fadeIn('fast');
我知道,我知道,我可能應該只使用Ajax獲取數據。但現在,我只想刷新div,不刷新頁面,也不需要將新的HTML添加到div中。這可能嗎?
我想刷新一個div。它應該有來自服務器的新信息。所有其他的答案假設你已經從你的$就要求得到新的數據,並告訴你的數據加載到您的div隱藏,並再次顯示它,就像這樣:用jquery刷新div
$("#panel").hide().html(data).fadeIn('fast');
我知道,我知道,我可能應該只使用Ajax獲取數據。但現在,我只想刷新div,不刷新頁面,也不需要將新的HTML添加到div中。這可能嗎?
我想只刷新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;
}
我會開始請願書來終止這個'foo bar foobar'時代:) –
@ RokoC.Buljan:因爲我們都知道互聯網抗議活動是如何有效的,特別是在改變一種文化模式[大約在50到80年之間](http://en.wikipedia.org/wiki/Foobar#History_and_etymology):) –
我嘗試的第一個解決方案,它的工作原理,但最終用戶可以容易地識別出div的是刷新,因爲它是fadeIn(),沒有淡入淡出,我嘗試.toggle()。toggle(),它的作品完美。 你可以嘗試這樣的
$("#panel").toggle().toggle();
它完美對我來說,因爲我正在開發一個信使,需要最小化和最大化聊天框的,這確實是最好的,而不是上面的代碼。
什麼是刷新div而不把新的html?我假設你有div中的原始內容以某種方式發生變化,需要放回div中? – Thomas
只需在div元素上使用.empty()來清空它,甚至.html('') – GillesC
@gillesc這不會將新的html放入div嗎? – Thomas