我假設Gmail使用JavaScript來實現特定電子郵件線程的摺疊效果。我所說的效果是:通過點擊某個特定的電子郵件線程後,您將看到只顯示最新的電子郵件,所有以前的電子郵件都處於摺疊狀態。只有當你點擊摺疊部分時,它們纔會展開,但仍然只顯示它們的片段。然後你點擊每個部分,你可以閱讀完整的信息。如何做到這一點?非常感謝。如何生成與JavaScript中的Gmail類似的摺疊效果
回答
我假設你說的是線程中以前的消息被摺疊的效果,所以只顯示發送者的名字和消息的前幾個單詞。
我該怎麼做:對於除未讀的消息以外的其他消息,請加載發送者的姓名和身體的第一個字符n。在每一行中使用onclick監聽器在表中顯示以前的所有消息。當單擊該行時,使用Ajax從服務器檢索完整消息,並用完整消息替換截斷消息。如果用戶再次單擊該行,則隱藏除第一個字符以外的完整消息。在GMail的情況下,當您單擊電子郵件線程時,未讀和/或最新消息將全部加載。
更簡單的方法是:在頁面加載時加載所有消息,但隱藏全部消息的所有字符,直到點擊該行爲止。n。這將使編碼更容易,因爲您不必混淆Ajax並節省屏幕空間,但不會給您帶來更少帶寬使用的其他好處。
+1(看起來像)理解OP的意圖。 :o) – 2011-01-23 10:04:57
我不知道你爲什麼認爲OP的意圖是在不需要加載整個郵件時就知道性能,因爲他沒有提到這些(如果你有這麼多的數據,但我們不知道他處理了多少數據)。 – 2011-01-25 16:20:42
使用jQuery非常簡單,可以很好地實現這種良好的視覺效果(如果您知道足夠的javascript和jQuery)。 toggle function是會起作用的功能。
accordion control of jQuery UI與gmail爲線程所做的很相似。不同之處在於手風琴只允許一個部分一次打開,而在Gmail中,幾個郵件可以一次打開。
所以我建議你使用下面的手風琴例子中的代碼,它允許一次打開多個部分,而不是手風琴控制自己。
jQuery(document).ready(function(){
$('.accordion .head').click(function() {
$(this).next().toggle('slow');
return false;
}).next().hide();
});
- 1. 如何將摺疊效果與jQuery.remove()
- 2. 類似Gmail的菜單摺疊並展開
- 3. HTML5:頁面摺疊效果
- 4. 如何在vim中使用類似於c程序的摺疊
- 5. 類似Bootstrap可摺疊的角
- 6. 產生類似打字機的效果
- 7. 完善的視角 - CSS摺疊效果
- 8. 在iOS上摺疊的地圖效果
- 9. 如何摺疊Vim中的類塊?
- 10. 如何使用展開/摺疊動畫創建類似的recyclerview?
- 11. 如何摺疊/摺疊UITableView的部分?
- 12. 如何顛倒jQuery UI摺疊效果的方向?
- 13. 如何生成rdoc樣式的可摺疊的代碼段?
- 14. 如何在android中實現這種摺疊效果?
- 15. 如何在Emacs中實現代碼摺疊效果?
- 16. CSS3摺疊和展開效果
- 17. JQuery-Mobile可摺疊slideDown效果
- 18. 使用CSS摺疊/包裝效果
- 19. 如何爲摺疊後的菜單添加類並刪除摺疊後的類
- 20. CSS或JavaScript摺紙效果
- 21. iPhone - 類似效果的Photoshop
- 22. 如何使用appledoc生成類似蘋果的文檔
- 23. 如何實現類似gmail的熱鍵
- 24. 集錦摺疊/摺疊JavaScript代碼
- 25. 如何摺疊Double類型的列表?
- 26. 在javaScript中生成PDF後如何停止加載效果?
- 27. JsonConvert.DeserializeObject與摺疊
- 28. 與ASCII摺疊
- 29. 生成「類似的」證書
- 30. 在iOS設備中的頁面摺疊效果
你在說什麼效果? – SLaks 2011-01-23 01:45:27