转到列表中的eq项目

时间:2013-05-27 13:28:21

标签: javascript jquery loops jquery-plugins scrollto

我有这个脚本:

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

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

按第二个列表项时。你要去第二部分等我该如何做到?

4 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

Working jsFiddle Demo

使用此代码:

$('.blog-list li').each(function (i) {
    $(this).click(function () {
        $('body').scrollTo('.section:eq(' + i + ')', 800);
    });
});

答案 2 :(得分:0)

这是我对形势的看法

 $('.bloc-list li').each(function(index,element){
        $(element).click(function(e){
            e.preventDefault();
            $('body').scrollTo('.section:eq(' + index + ')', 800);
        });
    });

答案 3 :(得分:0)

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

<强> Demo

此方法通过使用:eq动态将调用$(this).index()的调用替换为调用该函数的项的索引(在本例中为您的列表项)。