2011-07-13 19 views
2

Take a look at thisDIV要素がスクロールしない

DIVの一番下に来るまで、任意のユーザー名でログインしてスパムチャットを開始します。どのようにスクロールしないのでしょうか?私はなぜそれを理解する必要があります。私はそれが#ので、起こっていることを感じている*

chat { 
     position: absolute; 
     left: 0%; 
     top: 0%; 
     width: 65%; 
     height: 100%; 
     text-align: left; 
     overflow-y: scroll; 
     overflow-x: hide; 
     word-wrap: break-word; 
    } 

// Note: CHATBOX_ID = "#chat" 
Minte.UI.addChatEntry = function(html) 
{ 
    // Add the chat entry... 
    var entry = '<div>' + this.formatString(html) + '</div>'; 
    $(CHATBOX_ID).html($(CHATBOX_ID).html() + entry); 

    // .. Then scroll down to the bottom 
    var chatContentHeight = 0; 
    var chatHeight = $(CHATBOX_ID).height(); 

    $(CHATBOX_ID + " > div").each(function() { 
     chatContentHeight += $(this).outerHeight(); 
    }); 

    if (chatContentHeight > chatHeight) 
    { 
     var scroll = chatContentHeight - chatHeight; 
     $(CHATBOX_ID).scrollTop(scroll); 
    } 
}; 

* そして、ここでは#chatのための私のCSSです:JavaScriptのをスクロールするために使用されるコード

チャットは絶対的に配置されていますが、私はなぜ正確にわかりません。 HTMLコードはかなり長いので、ここには投稿しませんでしたが、リンク先のページではView Sourceで表示します。

私はこの問題を無駄にしないようにするのに時間をかけすぎました。うまくいけば、皆さんは私がこの神秘的な問題を解決するのを助けることができます。

+0

のようないくつかの巨大な番号を呼び出すことができます。そのスクロール。 –

+0

いいえいいえ.... – Ryan

答えて

2

#chat要素のプロパティは、あなたの望むものです。

$(CHATBOX_ID).scrollTop($(CHATBOX_ID)[0].scrollHeight) 
+0

ありがとう!それは完璧に働いた! – Ryan

0

はこれを試してみてください。

$(CHATBOX_ID).scrollTop($(CHATBOX_ID).height())
+0

'.height()'はスクロール可能な高さではなく、要素の目に見える高さを示します。 – digitalbath

+0

ええ、それはそれを下にスクロールする必要があります。スクロールに必要な正確な量を計算する必要はありません – locrizak

0

次の2つの高さの差を取るべきではありません。大きな要素の高さまでスクロールするだけです。

0

か、私はあなたによって与えられたリンクをチェック

$("#chat").scrollTop(1e5) 
関連する問題