2017-07-11 1 views
2

動的にスクロールして特定の強調表示されたdivにフォーカスする方法はありますか?特定のdivにフォーカスするためにスクロールしようとしていますclass highlighted.Howこれを解決する方法はありますか?シンプルなJSで特定の強調表示されたdivにフォーカスを動的にスクロールする方法

<div class="row"> 
<p>123</p> 
</div> 
<div class="row"> 
<p>123</p> 
</div> 
<div class="row"> 
<p>123</p> 
</div> 
<div class="row"> 
<p>123</p> 
</div> 
<div class="row highlighted"> 
<p>123</p> 
</div> 
<div class="row"> 
<p>123</p> 
</div> 

答えて

3

document.getElementsByClassName("row highlighted")[0].scrollIntoView(); 

やjqueryの中

$(".row highlighted")[0].scrollIntoView(); 
+0

document.getElementsByClassName( "行ハイライト")。scrollIntoView(); –

+0

同じIDを持つ複数の要素を持つことができるので、残念なことにコレクションを返します。返される最初の要素のみを選択するために[0]を追加しました。 –

+0

何[0]の意味ですか? –

1

jQueryを使って試してみてくださいposition().top

$(document).on('click','button',function(){ 
 
var s = $('.highlighted').position().top; 
 
$('body').scrollTop(s) 
 
})
.row{ 
 
padding:50px; 
 
border:1px solid red; 
 
} 
 
.highlighted{ 
 
border:2px solid green; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<button>scroll highlighted</button> 
 
<div class="row"> 
 
<p>123</p> 
 
</div> 
 
<div class="row"> 
 
<p>123</p> 
 
</div> 
 
<div class="row"> 
 
<p>123</p> 
 
</div> 
 
<div class="row"> 
 
<p>123</p> 
 
</div> 
 
<div class="row highlighted"> 
 
<p>123</p> 
 
</div> 
 
<div class="row"> 
 
<p>123</p> 
 
</div>

関連する問題