私は JavaScript があまり得意ではありませんが、5 時間検索しましたが、うまくいきませんでした。
ボタンを機能させようとしています。コードを1つずつ記述すれば、問題なく動作し、すべて問題ありません。
問題は理解できます。クリック部分は、実際にクリックしたときにのみ動作します。私は正しいですか?しかし、必要に応じて機能するように修正するにはどうすればよいですか?
$(name) の値をクリック関数に送信できるので、ボタン 1 がクリックされてから scrollTop: $(button-1-block) と言うことができるか、この場合は考えすぎでしょうか。
var divHeight = 700
var blocks = document.getElementsByClassName("blocks");
var i = 1;
for(i=1;i<blocks.length+1; i++) {
var name = "#button-"+i;
var blx = "#block-"+i;
$(name).click(function(){
$('html, body').stop().animate({
scrollTop: $(blx).offset().top - ( $(window).height() - divHeight )/2
}, 2100,'easeInOutExpo');
});
}