GmailはJavaScriptを使用して、特定のメールスレッドの折り畳み効果を実装すると仮定します。私が話している効果は、特定の電子メールスレッドをクリックして選択すると、直前のすべての電子メールが折りたたまれた状態で最新の電子メールだけが表示されることがわかります。折りたたみセクションをクリックしたときにのみ、展開されますが、まだスニペットが表示されます。次に、個々のセクションをクリックすると、完全なメッセージを読むことができます。どのようにこれを行うことができますか?どうもありがとう。JavaScriptでGmailと同様の折りたたみ効果を生成する方法
答えて
スレッド内の以前のメッセージが折りたたまれているので、送信者の名前とメッセージの最初の数単語だけが表示されているとします。
どうすればいいですか:未読メッセージ以外のすべてのメッセージについて、送信者の名前と最初のn本体の文字を読み込みます。各行にonclickリスナーを持つテーブルにすべての前のメッセージを表示します。行がクリックされたら、Ajaxを使用してサーバーから完全なメッセージを取り出し、切り捨てられたメッセージを完全なものに置き換えます。ユーザーが行を再度クリックすると、最初のn文字以外の完全なメッセージは非表示になります。 GMailの場合、電子メールスレッドをクリックすると、未読および/または最新のメッセージが完全に読み込まれます。
ページの読み込み時にすべてのメッセージを完全に読み込みますが、行がクリックされるまでメッセージ全体のn文字以外をすべて非表示にします。これにより、Ajaxを混乱させることなく、画面上のスペースを節約する必要がなくなるので、コーディングが容易になりますが、帯域幅の使用量が少なくなるという利点がありません。
+1(OPの意図を理解しているように) :o) –
私は、OPの意図が、それが何も言及していないときに、必要な前にメール全体を読み込まないというパフォーマンスについて知っていると思うのはなぜ分からないのですか(それは、どれくらいのデータを扱うかわかりません)。 –
@Protron - ポイントがありましたか?なぜ他にデータを隠したいのですか?スクリーンスペースを解放するか、帯域幅を節約する。どちらも私が言いました。 – Sparafusile
jQueryを使用すると、(JavaScriptとjQueryが十分に分かっていれば)素晴らしいビジュアルエフェクトを作成するのは簡単です。 toggle functionはその効果を発揮する機能です。
accordion control of jQuery UIは、gmailがスレッドに対して行うことと実際に似ています。違いは、アコーディオンでは一度に1つのセクションのみを開くことができ、gmailでは複数のメールを一度に開くことができるという点です。
このように、アコーディオンコントロールの例ではなく、複数のセクションを一度に開くことができるコード例を使用することをお勧めします。
jQuery(document).ready(function(){
$('.accordion .head').click(function() {
$(this).next().toggle('slow');
return false;
}).next().hide();
});
Gmailにアコーディオン効果はありません。とにかく彼は視覚的な効果について話していない、彼はメッセージの構成について話している。 – Sparafusile
私は実際にGmailがアコーディオン効果ではなかったと言いました(複数のセクションが一度に開いているため)。だから我々はそれに同意する。私たちが同意しないのは、OPの意図です。私はなぜコンテンツを "表示"するのか( "ロード"、 "ajax"、または " 「パフォーマンス」は全く言及されていない)。 –
- 1. 同様の効果でストライクを達成する方法
- 2. iOSアプリでのページの折りたたみ効果
- 3. XULテーブルのダブルクリックで展開/折りたたみを無効にする方法
- 4. このテストケースでボーダー折りたたみを無効にする
- 5. 折りたたみツールバーの効果がTablayoutで機能しない
- 6. ブートストラップネストされた折りたたみでイベントのみの親折りたたみ
- 7. 変形/折りたたみフォームフィールドを読み取り専用/無効にする方法はありますか?
- 8. 折りたたみツールバーをスクロールせずに折りたたまれた状態で表示する方法
- 9. iOS上の折りたたまれたマップ効果
- 10. コードのClosure Compiler(または同様のもの)の効果を元に戻す方法はありますか?
- 11. VIM構文の折りたたみ:複数行のコメントの折り畳みを無効にする
- 12. cssのみ、またはcss + jqueryでホバー効果を作成する方法
- 13. ソースコードのシンタックスハイライトとコード折りたたみ
- 14. 戻るキーで検索ビューの折りたたみを無効にする方法android
- 15. SmartGWT - プログラムでresizebarの折りたたみ/展開アクションをトリガーする方法
- 16. 折りたたみ可能なUIViewを作成するには
- 17. 折りたたみ可能なデータグリッドを作成するには?
- 18. 剣道ドロップダウンリストの折りたたみを防止する方法Javascriptを使用したページスクロール
- 19. Visual Studio 2008で関数のコード折りたたみを有効にする方法は?
- 20. プリペイドテレフォンカードと同様の固有のピン番号を生成する方法PIN
- 21. 折りたたみツールバーレイアウトと浮動アクションボタン
- 22. Haskell折りたたみネストリスト
- 23. ネストされたハッシュを読み取り、同様の構造の別個のハッシュを生成する
- 24. 奇妙な折りたたみあります{とA}同じ行に。&*
- 25. Javascriptで重力効果を作成する方法は?
- 26. 展開/折りたたみアクションをプログラムでロックする方法は?
- 27. Eclipse、XMLファイルで折りたたみをアクティブにする方法は?
- 28. html javascriptの折りたたみ/展開テーブルの行、子の行
- 29. gvimの縦方向のspiltsと折りたたみ
- 30. html5でサラウンド効果を生成する方法
どのような効果がありますか? – SLaks