1

数時間前にこれを探していますが、どこにも見つかりません。

シンプルな Jquery スクリプトを使用して div を更新します。その div に PHP の出力を表示したいと考えています。

$script = " 

<script src=\"https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js\"></script>   
    <script type=\"text/javascript\">// <![CDATA[
$(document).ready(function() {
$.ajaxSetup({ cache: false }); // This part addresses an IE bug.  without it, IE will only load the first number and will never refresh
setInterval(function() {
$('#uziRefresh').load('http://mypage/refresh.php?a_a=".$kinek[1]."');
}, 6000); // the \"3000\" here refers to the time to refresh the div.  it is in milliseconds. 
});
// ]]></script>

";

私の問題です。リフレッシュするとdivスクロールの先頭位置に移動します。ユーザーがdivのすべてのコンテンツを読みたいので、現在の位置を維持したいと思います。簡単なチャットアプリを作りたいです。しかし、常にトップに行くのは悪いことです。

どうすればこれを解決できますか? 誰にも解決策がありますか?

4

2 に答える 2

1
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>  
<script type="text/javascript">


$(document).ready(function() {

    $.ajaxSetup({
        cache: false
    });
setInterval(function() {
var div = document.getElementById("uzidoboz").scrollTop; 
$('#uziRefresh').load('/modulok/belso_levelezes/refresh.php?a_a=<?php print($kinek[1])?>', function(){ 
$("div.uzidoboz").scrollTop(div);
})
}, 6000);
});
</script>

これが私の完全な解決策です。申し訳ありませんが、いくつかの div 名を見逃していましたが、正しい名前では最後の解決策はまだ機能していません。これはうまくいきます。まず、現在のスクロールトップを取得し、div をリロードして、スクロールトップを設定します。

6000 ミリ秒ごとに実行されます。今はシンプルで機能します。私は自分のdivを持っています。uzidoboz div がオーバーフローしました。私のコンテンツはその中にあります。しかし、私はそれをすべてuziRefresh divにロードします...

于 2013-04-21T11:47:41.970 に答える
0

この解決策を確認してください。コメントを削除しました。

$(document).ready(function() {

    $.ajaxSetup({
        cache: false
    });

    var updateScrollPosition = function() {
        var div = $('#uziRefresh');
        div.scrollTop(div.height());
    };


    setInterval(function() {
        $('#uziRefresh').load('http://mypage/refresh.php?a_a=".$kinek[1]."', updateScrollPosition);
    }, 6000);
});

正確にはこれを使用します-

$script = "

<script type=\"text/javascript\">// <![CDATA[

$(document).ready(function() {

$.ajaxSetup({
    cache: false
});

var updateScrollPosition = function() {
    var div = $('#uziRefresh');
    div.scrollTop(div.height());
};


setInterval(function() {
    $('#uziRefresh').load('http://mypage/refresh.php?a_a=".$kinek[1]."',

updateScrollPosition); }、6000); // ]]>

";

于 2013-04-20T11:06:36.453 に答える