2017-01-31 3 views
1

​​を使用して、divの内容を5秒ごとに最新表示しています。load()で全ページスクロールアップを防止する

divが更新されると、ページ全体が上にスクロールします。これが起こらないようにする方法はありますか?

$("#loadcards").load("getGraph.php"); 

$(document).ready(function(){ 
    setInterval(function(){  
    $("#loadcards").load("getGraph.php"); 
    },5000); 
}); 
+0

空ではなくレイヤーの内容を更新するだけです –

+0

または、コンテンツの追加/削除時にサイズ変更を防ぐために '#loadcards'に' min-height'を設定してください。 –

+0

残念ながら、分の高さが機能しませんでした –

答えて

1

戻ってあなたのブラウザは非常に簡単にあなたのdivのための任意のコンテンツを持っていないので、あなたがリロードトップにあなたのページがスクロール

<body>  
    <app-header condenses reveals effects="waterfall"> 
     <app-toolbar> 
     <div main-title>Title</div> 
     <a href="./login/logout.php" tabindex="-1"><paper-button class="custom white" raised>Log Out</paper-button></a> 
     </app-toolbar> 
    </app-header> 

    <div id="loadcards"></div> 
</body> 
。これにより、ページのコンテンツが小さすぎてスクロールバーが必要になりますが、コンテンツが再適用されると、スクロールバーが必要なほど大きくなります。リロードが呼び出される前に、Yを設定することができ

オプション1

がページの毎回の先頭にオフセットし、それに戻ってスクロール、ページがリロード(または少なくとも限りダウンとして終わるたびオフセットページが以前よりも小さい場合は可能です)。あなたが前にいた場所に戻ってスクロールしたい場合は、以下を呼び出すことによって行うことができ

var offsetY = $(window).scrollTop(); 

:あなたは次のコードでウィンドウの上部からのオフセット電流を得ることができ

$('html, body').animate({ 
    scrollTop: $(this).offset().top 
}, 300); 

徐々にスクロールしますが、瞬時にスクロールする場合は300から0に設定できます。

ページの読み込み効率によっては、ページの内容がまだジャンプしている可能性があります。

オプション2

あなたが代わりに固定の高さで容器の内側にあなたの全体のDIVを入れ、内部の内容を再ロードすることができます。コンテナdivには、少なくとも分の高さを設定する必要があります。

<div style="min-height: SOME_VALUE"> 
    <div id="loadcards"></div> 
</div> 

実際のページサイズに最も近い値にSOME_VALUEを設定します。これにより、ページジャンプも防止されますが、実際のコンテンツが小さくても、ページの高さが最小限に抑えられます。

オプション3

最も先進的なソリューションは、コンテナDIVを使用してLoadPageの高さは、あなたがリロードする直前にあるものは何でもに高さを設定することです。これにより、ページをリロードした後にのみリセットされます。

setInterval(function(){ 
    $("#loadcards").load("getGraph.php"); 
    $('#cardscontainer').height($('#loadcards').height()); 
},5000); 

EDIT:LoadCards DIVが以前より小さくなるならば、それは奇妙な行動につながるので、私はするsetIntervalコールバック関数内の2つの機能を入れ替え、あなたのJSを以下のように変更して

<div id="cardscontainer" style="min-height: SOME_VALUE"> 
    <div id="loadcards"></div> 
</div> 

+1

オプション3は治療を受けました - ありがとうございます! –

+0

あなたがそれを気に入ってよかったです。別のシナリオで問題に遭遇すると思いますので、追加の編集注釈を追加しました。見てみな! – FvB

関連する問題