if (btns.length && sections.length > 0) {
btns[0].addEventListener('click', function (event) {
smoothScrollTo(sections[0], event);
});
btns[1].addEventListener('click', function (event) {
smoothScrollTo(sections[1], event);
});
btns[2].addEventListener('click', function (event) {
smoothScrollTo(sections[2], event);
});
btns[3].addEventListener('click', function (event) {
smoothScrollTo(sections[3], event);
});
}
你好朋友可以说我有更多按钮!而不是编码它们中的每一个如何简而言之!我是js的新人......
由于
答案 0 :(得分:1)
我在那边看到一个jQuery TAG,不是吗?
$(btns).click(function(event) {
smoothScrollTo(sections[$(this).index()], event);
});
如果将索引作为属性或ID添加到按钮中会更好,以防止出现任何问题......
答案 1 :(得分:-2)
您需要创建一个匿名函数来传递i
变量。
if (btns.length && sections.length > 0) {
var l = btns.length;
for (var i = 0; i < l; i++) {
btns[i].addEventListener('click', function(event) {
(function(_i) {
smoothScrollTo(sections[_i], event);
})(i);
});
}
}