Rails でLINEの様なメッセージアプリを使っています。
メッセージ受信時に
①もし一番下にスクロールバーがあるなら、下にスクロールしたい
②一番下でないなら、メッセージを受信しましたという信号(LINEの様な感じ)をユーザーに送りたい
と考えています。
javascript
1// スクロールさせる要素を取得 2var elm = document.getElementById('scrollElement'); 3 4// 要素の表示領域を取得 5var height = elm.offsetHeight; 6 7// スクロールイベントを定義 8elm.onscroll = function() { 9 // 要素のスクロール分を含めた高さを取得 10 var scrollHeight = elm.scrollHeight; 11 12 // 要素のスクロール位置を取得 13 var scrollTop = elm.scrollTop; 14 15 // 現在の表示位置の高さ 16 var scrollPosition = height + scrollTop; 17 18 // どれだけ近づいたかを判断する値 19 // 0に近いほど、スクロールの最終が近い 20 var proximity = 0; 21 22 if ((scrollHeight - scrollPosition) / scrollHeight <= proximity) { 23 スクロール処理 24 } 25}
このif文をajax受信時に入れたのですが、どの位置でもスクロールされてしまいます。
ajax受信時に、条件分岐させるにはどの様にしたら良いのでしょうか?
ユーザーへのメッセージ受信の信号については、まだ全く分かりません。
分かれば教えて頂けると助かります。
下手な質問かもしれませんが、よろしくお願いします。