2017-11-03 7 views
2

divには「second」のクラスがあります。 buttonをクリックすると、その要素のページにスクロールしたいと思います。以下は、jQueryを使ってこの記事を書いたものですが、これをバニラのJavaScriptで書く方法を知りたいですか?クリックイベントの特定divへのスクロール

$("button").click(function() { 
 
    $('html,body').animate({ 
 
     scrollTop: $(".second").offset().top}, 
 
     'slow'); 
 
});

+0

あなたがこれまでにどのような研究を行っている、あなたはあなたの任意の試み(s)はjQuery' 'なしでこれを行うために所有してきましたか?もしあなたの質問にそれらを含めてください。これは、あなたの試みが意図したとおりに機能しなかった理由を説明するための詳細な答えを与えるのに役立ち、詳細な解決策を与えるかもしれません。 **編集:**この 'jQuery'セレクタが' second'の 'class'名を対象としているので、' HTML'の例は良いでしょう。そうすれば、あなたは 'class'を知りたいと思うでしょうクリックに応じて関連する。 – NewToJS

+0

firefoxの場合、[scorllTo](https://developer.mozilla.org/en-US/docs/Web/API/Window/scrollTo)を使用できます。しかし、Chromeで問題が発生する可能性があります。 [here](https://stackoverflow.com/questions/15691569/javascript-issue-with-scrollto-in-chrome)を参照してください。 – jrook

+0

あなたの研究を共有することは誰にとっても役立ちます。あなたが試したこと、なぜ があなたのニーズを満たしていなかったのかを教えてください。これは、あなたが時間をかけて自分自身を助けようと試みたことを示しています。答えが明白であることを忘れないでください。 そしてもっと重要なことは、 [ask]も参照してください。 –

答えて

0

function getPosition(element) { 
 
     var e = document.getElementById(element); 
 
     var left = 0; 
 
     var top = 0; 
 

 
     do { 
 
      left += e.offsetLeft; 
 
      top += e.offsetTop; 
 
     } while (e = e.offsetParent); 
 

 
     return [left, top]; 
 
    } 
 

 
    function jumpTo(id) { 
 
     window.scrollTo(getPosition(id)); 
 
    }
<a href="#one" onclick="jumpTo('one');">One</a> 
 

 
<div style="height: 900px"></div> 
 
<div id="one"></div>

+0

これをChromeでテストしましたか? – jrook

+0

もう一度やり直してください!今私はテストしました –

+0

あなたのコードについて、それがどのように働いているかを言ってください。情報を持たないコードだけがansを与える良い方法ではありません。 –

関連する問題