それは別の話ですが、チャットボックス内のテキストエリアにフォーカスしようとすると、望ましくないスクロールが発生します。この基本的な構造を持っているので、部分的に表示されているウィンドウ (ユーザーの名前がその領域に表示されます) をクリックすると、ウィンドウが完全に表示されます。
<div class="container"></div>
<div class="content">
<div class="block"><textarea></textarea></div>
<div class="block"><textarea></textarea></div>
</div>
コンテナは他のすべてのコンテンツ自体であり、コンテンツ div はチャット ウィンドウ コンテナであり、ブロックはチャット ウィンドウであるとしましょう。
このjsfiddle http://jsfiddle.net/Mhrvf/1/でそれを見ることができます
テキストエリアにフォーカスを合わせていない場合は問題ありませんが、フォーカスすると、ブラウザはテキストエリアを表示するためにすべてのコンテンツをスクロールしようとします。その後、チャット ウィンドウを表示するたびに、本文のコンテンツがウィンドウ下部とテキストエリア。
ここで問題を確認できますhttp://jsfiddle.net/Cc25T/
「会話」を開くたびにスクロールバーを見てください
アニメーションが終了し、テキストエリアがまだ表示されるように、フォーカスを十分に遅らせることにハックしました。このように: http://jsfiddle.net/Cc25T/3/
しかし...もっと良い方法はありますか?個人的に私はタイムアウトに頼るのが好きではないので、どんな提案も歓迎します:)
jQuery animate を使用できることは知っていますが、それはコールバックですが、コストが高く、より良いアニメーションがサポートする方法があるため、使用しないことを好みます。 CSS トランジションの使用 (IE がサポートしていないことは知っていますが、気にしません)