2017-06-27 10 views
0

最後の返信をjQueryを使用して表示にスクロールさせる必要があります。ここに私のコードは次のとおりです。jQuery構文でscrollIntoView()を使用するにはどうすればよいですか?

function showHideReplies(replies){ 
replies.each(function() { 
    if($(this).index() < nIniRep || afterReply){ 
      $(this).show(); 
      if(afterReply && $(this).index()==replies.length){ 
       $(this).scrollIntoView(); 
      } 
     }else{ 
      $(this).hide(); 
     } 

}); 

}

afterReplyは私のJavaScriptで定義されました。

私の質問は:私はscrollIntoView()がHTML DOMメソッドである知っている、あなたはこのようにそれを使用することができます:

var elmnt = document.getElementById("content"); 
elmnt.scrollIntoView(); 

しかし、私はjQueryを使って使用する必要がある、と私はそれが同じように動作するはずだと思います。しかし、jQueryの構文では機能しません。$(this).scrollIntoView();

jQueryの構文でscrollIntoView()を使用するにはどうすればよいですか?

ありがとうございます。

+1

単に 'this.scrollIntoView()'をしないのはなぜですか?また、変数に[キャッシュする]($ https://stackoverflow.com/questions/23743326/why-cache-jquery-objects) '$(this)'の価値があります。 –

答えて

1

jQueryの$(this)は、jQuery objectを返します。この要素自体をターゲットにするには、オブジェクトの最初のインデックスに[0]でアクセスする必要があります。基本的に、jQueryの$(this)[0]は、JavaScriptのthisに相当します。このように

、あなたが探している:

$(this)[0].scrollIntoView(); 

この情報がお役に立てば幸い! :)

+0

ありがとうございます! – ChProgrammer

関連する問題