我对javascript不太好,但我现在已经搜索了5个小时而没有运气。
我试图让按钮工作,如果我逐个编写代码它工作正常,并且可以正常使用。
我能理解这个问题。 点击部分仅在实际制作CLICK时有效。 我对吗? 但我如何纠正这样它会像我需要的那样工作?
我可以将$(name)值发送给click功能 所以,当我让我们说按钮-1被点击然后scrollTop:$(按钮-1块)或者我在这种情况下思考。
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');
});
}
答案 0 :(得分:2)
试试这个:
var divHeight = 700
//var blocks = $(".blocks");
$('[id^="button"]').click(function(){
var block = '#block-' + this.id.match(/\d+/g).join("");
$('html, body').stop().animate({
scrollTop: $(block).offset().top - ( $(window).height() - divHeight )/2
}, 2100,'easeInOutExpo');
});