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. CSSまたはJavascriptの用紙折りたたみの効果
- 2. 同様の効果でストライクを達成する方法
- 3. iOSアプリでのページの折りたたみ効果
- 4. フラグメントとアクティビティで折りたたみツールバーを作成する方法
- 5. XULテーブルのダブルクリックで展開/折りたたみを無効にする方法
- 6. Javascriptの3レベル折りたたみメニュー
- 7. 同じヘッダーのcolspanと折りたたみ - 可能ですか?
- 8. このテストケースでボーダー折りたたみを無効にする
- 9. IntelliJでJavaコードブロックの折りたたみを有効にする
- 10. git hash-objectコマンドと同様のsha1を生成する方法
- 11. 折りたたみツールバーの効果がTablayoutで機能しない
- 12. Pythonで同様の文字列を生成する方法
- 13. ブートストラップ3 Navbar折りたたみ折りたたみでない
- 14. ブートストラップネストされた折りたたみでイベントのみの親折りたたみ
- 15. スクロール時のツールバーの折りたたみを無効にする
- 16. 変形/折りたたみフォームフィールドを読み取り専用/無効にする方法はありますか?
- 17. 折りたたみツールバーをスクロールせずに折りたたまれた状態で表示する方法
- 18. コードのClosure Compiler(または同様のもの)の効果を元に戻す方法はありますか?
- 19. iOS上の折りたたまれたマップ効果
- 20. ブートストラップアコーディオンで2つのアコーディオン折りたたみを持つ方法
- 21. コラプス/折りたたみ時にブートストラップアコーディオンヘッダーを変更する方法
- 22. VIM構文の折りたたみ:複数行のコメントの折り畳みを無効にする
- 23. テーブル値に基づいて折りたたみパネルを作成するJavascript
- 24. cssのみ、またはcss + jqueryでホバー効果を作成する方法
- 25. データを折りたたむことなくパネルにラグを生成する方法はありますか?
- 26. ブートストラップ - ホバー効果は、ナビゲーションバーが折りたたまれていない場合にのみ有効です。
- 27. ブートストラップで折りたたみを無効にする/ナビバーでトグルする
- 28. ソースコードのシンタックスハイライトとコード折りたたみ
- 29. vbaグループの列と折りたたみ
- 30. ツールバーとDrawerLayoutの折りたたみ
どのような効果がありますか? – SLaks