2017-07-10 12 views
1

何百ものdiv要素を持つWebページ上で、誰かをクリックしてウィンドウをスクロール(上下)してdivが上部に表示されるようにする必要がありますビューポート。divをクリックすると最も高い視点に移動します

つまり、要素がクリックされたときにウィンドウをスクロールして、この要素がビューポートの上に表示されるようにする方法はありますか?

Can Element.scrollIntoView()はこれをどのように行いますか?

+0

でクリックした後の遅延はあなたが 'div'に' fixed'位置を与えることができますし、それをビューポートの上部に配置します。 – abhishekkannojia

答えて

0

これは、あなたが(参照ボタンをクリックして)何をしたいです:

$("button").click(function(){ 
 
    $(this).addClass("sivola"); 
 
});
.sivola { 
 
    position: fixed; 
 
    top: 0; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr> 
 
<button>130 Martin Garrix si volaaa</button>

+0

これは彼がjQueryを使っていると仮定しています。 – DrunkDevKek

+0

いいえ、それは同じ方法でjqueryなしで行うことができます、私はちょうど私のために速くjqueryの原因でそれを書いた^^ –

+0

確かに。彼がこのコードを直接使用しようとした場合にそれを指摘しておきたいのですが、なぜそれがうまくいかないのか疑問に思います:) – DrunkDevKek

0

あなたdivにクラス名を割り当てます。

ワン(標準の動作)標準のCSSプロパティが含まれていますし、他の(ビューポートの上にあなたのdivを再配置するために使用するもの)

className { 
    position: fixed; 
    top: 0; 
    left: 0; 
    ... 
} 

のようなものは、ただ、このクラス名を割り当てる必要がありますfixedの位置をトリガーしたい場合は、あなたのdivに転送してください。

0

ドキュメントの上部を0pxに設定し、アニメーション化する必要があります。

$('scrollToTopBtn').click(function(e){ 
     $('html, body').animate({'scrollTop':'0'}); 
     e.preventDefault(); 
    }); 
0

解決策を見つけました!これを実現するには、以下のJSを使用してください。 注「theOffset.top - 1」というビューポートの上部と「100」に対する相対位置であるMS

jQuery(document).ready(function($) { 
$(".elementclass").click(function(){ 
      var self = this; 
      setTimeout(function() { 
       theOffset = $(self).offset(); 
       $('body,html').animate({ scrollTop: theOffset.top - 1 }); 
      }, 100); 
     }); 
    }); 
関連する問題