2011-06-21 15 views
1

オーバーフローしたときにチャットボックススクロールのDIVを作成しようとしていますが、残念ながらそれは停止していますが、理由はわかりません。ここに私のコードです。DIVオーバーフロースクロール停止ショート

誰かが何が間違っているのか、それを修正する方法を教えてもらえますか?今のところ起こることは、少しスクロールすることですが、スクロールを停止します。私は今、この問題に1時間近く立ち往生してきました。

+0

いつスクロールが停止しますか?いくつの行がダウンしていますか? – alquatoun

+0

あなたのコードはわたしを助けるものではありません:http://jsfiddle.net/rF4rn/ –

+0

Dave Thomasの提案でgoo.gl/QBYfSで私のサーバーにチャットアプリをホストしました。しかし、JSFiddleではうまく動作しますが、今はスクロールしていません。あなたはそれを見て、なぜそれを調べることができますか?ありがとう。 – Ryan

答えて

2

私はそうではありませんが、あなた自身の試みが失敗する理由は確かです(変数CHATBOX_IDの問題だと思いますが、これはどこから来たのかわからないためです) 。

var chatContentHeight, scrollVal; 
var chatHeight = $('#chat').height(); 

$('#message').keyup(

function(e) { 
    chatContentHeight = 0; 
    if (e.keyCode == '13') { // assuming you want messages submitted on hitting 'enter' 
     newMsg = $(this).val(); 
     $('<div />').text(newMsg).appendTo('#chat'); 
     $(this).val(''); 

     $('#chat > div').each(

     function() { 
      chatContentHeight = chatContentHeight + $(this).outerHeight(); 
     }); 

     if (chatContentHeight > chatHeight) { // checking whether or not scrolling is needed 
      scrollVal = (chatContentHeight - chatHeight); // defines the amount to scroll 
      $('#chat').scrollTop(scrollVal); 
     } 
    } 
}); 

JS Fiddle demo:(私は後で説明します)仮定のカップルとはいえ。

私の仮定は以下のとおりです。あなたは/私は思い、メッセージを格納するdiv Sを使用しても大丈夫たいことでしょうあなたがを打つに提出メッセージがを入力したい

  1. 個人的にはdlまたはolを使用することをお勧めしますが、使用することは完全に可能ですが、デモでこれらの要素を少し複雑にしているようです。

(あなたは私たちが提供説明にできるように手助けしたい場合は、少なくともまたは、)あなたが説明を希望した場合、あなたは、少なくともあなたの完全なjQueryの/ JavaScriptを投稿する必要があります問題を再現するライブデモ(自分のサーバーまたはJS Fiddleなど)にリンクすることができます。

参考文献:

+0

また、奇妙なことはJSFiddleではうまく動作しますが、私のサーバーでは完全なHTMLコードではうまく動作しないということです。 CSSと同じですが、JSと同じです。私はHTML構造の問題であるに違いないと思っています。おそらく絶対配置されたdivのブラウザの高さの制限があります。 – Ryan

+0

私はあなたを探しています。しかし、おそらく明日の午後/夕方までは、私は恐れている。申し訳ありませんが、もう少しお手伝いして頑張ります。 –