我的 javascript 不太好,但我已经搜索了 5 个小时,但没有成功。
我试图让按钮工作,如果我一个一个地编写代码,它工作正常并且一切正常。
我能理解这个问题。 单击部分仅在实际进行单击时才起作用。 我对吗? 但是我该如何更正它才能像我需要的那样工作?
我可以将 $(name) 值发送到点击功能吗 所以当我说 button-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');
});
}
最佳答案
试试这个:
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');
});
关于循环内的Javascript点击功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12659281/