1

我有这个脚本:

$('.blog-list li').click(function(e) {
    e.preventDefault();
    $('body').scrollTo('.section:eq(1)', 800);
});

当您单击列表项时,您现在将转到section:eq(1). 我想改变这个脚本。当您单击第一个列表项时,您将转到第一部分。

当您按下第二个列表项时。你要去第二部分等。我该怎么做?

4

4 回答 4

1

工作 jsFiddle 演示

使用此代码:

$('.blog-list li').each(function (i) {
    $(this).click(function () {
        $('body').scrollTo('.section:eq(' + i + ')', 800);
    });
});
于 2013-05-27T13:34:45.943 回答
1
$('.blog-list li').click(function(e) {
   e.preventDefault();
   $('body').scrollTo('.section:eq(' + $('.blog-list li').index(this) + ')', 800);
});
于 2013-05-27T13:31:06.803 回答
0

这是我对形势的看法

 $('.bloc-list li').each(function(index,element){
        $(element).click(function(e){
            e.preventDefault();
            $('body').scrollTo('.section:eq(' + index + ')', 800);
        });
    });
于 2013-05-27T13:36:42.620 回答
0
$('.blog-list li').click(function(e) {
    e.preventDefault();
    $('body').scrollTo('.section:eq('+$(this).index()+')', 800);
}); 

演示

此方法通过将调用动态替换为调用:eq该函数的项目的索引来工作,在这种情况下,您的列表项使用$(this).index().

于 2013-05-27T13:39:14.450 回答