单击时动态循环并滚动到div

时间:2015-07-06 16:34:58

标签: jquery html

当用户点击第一个段落" targetgo"我想滚动到" size1"上课。第二段用" size2"等等 。这是代码。有没有办法缩短代码,因为我要编写超过25个这样的东西。

$(".targetgo").eq(0).click(function(){
        $("body").scrollTo(".size1",2000); 
  });
   $(".targetgo").eq(1).click(function(){
        $("body").scrollTo(".size2",2000); 
  });
   $(".targetgo").eq(2).click(function(){
        $("body").scrollTo(".size3",2000); 

  });

2 个答案:

答案 0 :(得分:1)

嗯,为什么不呢?

for(var i=0;i<3;i++){
    $(".targetgo").eq(i).click(function(){
        $("body").scrollTo(".size"+(i+1),2000); 
    });
}

所以增加i以获得更多周期......

答案 1 :(得分:1)

$(".targetgo").each(
    function(i,el) {
        $(el).on('click', function() {
            $("body").scrollTo(".size"+i,2000); 
        });
    }
);

如果您不知道有多少.targetgo,请使用$ .each()

编辑:如果需要,不确定我是否为0或1。