2017-01-11 5 views
1

私の質問はこれです:ビューの読み込み時にビューの最後にあるdivに移動するにはどうしたらいいですか?

私はメインビューを持っており、その中に別のビューがjqueryでロードされているdivがあります。 divをjqueryでロードすると、結果は正しいですが、ビューの先頭に戻ってdivがダウンします 現在のスクロール位置を移動せずにdivコンテンツをロードするにはどうすればよいですか?

HTML:

<html><body> 
... 
<div class="col-md-12" id="productList"></div> 
... 
</body></html> 

jqueryの:事前に

function loadProduct(){ 
    var op_sort = document.getElementById('op_sort').value; 
    var op_dir = document.getElementById('op_dir').value; 
    $.get("showProductsListSorted", 
     {op_sort: op_sort, op_dir: op_dir}, 
     function(response){ 
      $('#productList').html(response); 
     } 
); 

感謝。

+0

この質問は、JSPとは何の関係もありません。それはあなたがjspとして参照し続けるhtmlです。 –

答えて

0

彼の答えがLongestwayroundのおかげで、それは私が他のタスクで使用するオプションです。 しかし、私が本当に探していたのは、javascriptとIdを使って直接ビューを定位置に置くクマの提案でした。

はJavaScript:

$("#productList").load("url", 
    {op_sort: op_sort, op_dir: op_dir, op_page: op_page, id_pro: id_pro, id_cat: id_cat}, 
    function() { 
     $('#focusAfterSort').focus(); 
    } 
); 

HTML:

<div class="col-md-12" id="focusAfterSort" tabindex="1"> 
1

あなたがコンテンツをロードした後に、変更します:

... 
$('#productList').html(response); 
$('html, body').animate({ scrollTop: $('#productList').offset().top }, 'fast'); 

あなたの要素にウィンドウをスクロールしますが、それはロードする前にいた場所を正確にスクロールバーの位置は、おそらくではありません。ここ

$("#productList").load("showProductsListSorted", 
     {op_sort: op_sort, op_dir: op_dir}, function() { 
    $('html, body').animate({ scrollTop: $('#productList').offset().top }, 'fast'); 
}); 

はSO $に.get(上の素敵な議論を持っている)$の.LOAD対():

さらに良い

UPDATE

、ロード機能を使用してみてくださいAJAX jQuery.load versus jQuery.get

UPDATE 2

スクロールバーを正確に元の位置に保つには、次のように使用します。

var initialScrollTop=$('html, body').scrollTop(); 
$("#productList").load("showProductsListSorted", 
     {op_sort: op_sort, op_dir: op_dir}, function() { 
    $('html, body').animate({ scrollTop: initialScrollTop }, 'fast'); 
}); 
+0

これはフォーカスを移動せず、ウィンドウをスクロールするだけです。フォーカスを設定する: '$( '#productList')。focus()' –

+0

ありがとうございます。それを固定した。私はあなたの質問を誤解していないことを願っています。 – longestwayround

+0

返信ありがとうLongestwayround。これは解決策ですが、速く完了してもスクロールが表示されないことをお勧めします。その時点で視界を維持する方法はありますか? –

関連する問題