所以我想制作这个有效的代码:
$('#link1').click(function() { $.scrollTo($('#1'), 500); });
$('#link2').click(function() { $.scrollTo($('#2'), 500); });
$('#link3').click(function() { $.scrollTo($('#3'), 500); });
$('#link4').click(function() { $.scrollTo($('#4'), 500); });
$('#link5').click(function() { $.scrollTo($('#5'), 500); });
$('#link6').click(function() { $.scrollTo($('#6'), 500); });
$('#link7').click(function() { $.scrollTo($('#7'), 500); });
$('#link8').click(function() { $.scrollTo($('#8'), 500); });
$('#link9').click(function() { $.scrollTo($('#9'), 500); });
$('#link10').click(function() { $.scrollTo($('#10'), 500); });
$('#link11').click(function() { $.scrollTo($('#11'), 500); });
$('#link12').click(function() { $.scrollTo($('#12'), 500); });
$('#link13').click(function() { $.scrollTo($('#13'), 500); });
$('#link14').click(function() { $.scrollTo($('#14'), 500); });
$('#link15').click(function() { $.scrollTo($('#15'), 500); });
不那么长,看起来很傻。我想用for循环创建那些事件监听器,这就是我想出的:
for(var i=1; i<=15 ; i++ ){
var linkName1 = '#link'+i;
var linkName2 = '#'+i;
$(linkName1).click(function() { $.scrollTo($(linkName2), 500); });
}
但是现在它为每个链接分配了#15。我知道这是范围问题。如何使它工作?