<li>无效的页面转换</li>

时间:2012-09-15 22:14:22

标签: jquery html list menu transition

我正在使用此代码:http://askmike.org/2011/12/smooth-page-transitions-using-jquery-video/用于我的页面。

以下是我修改过的Javascript代码:

$(function() {
    var request = window.location.hash;
    if(request == '#page-2') {
        $('.page.current').removeClass('current');
        $('.page').eq(1).addClass('current');
    }
        if(request == '#page-3') {
        $('.page.current').removeClass('current');
        $('.page').eq(2).addClass('current');
    }
        if(request == '#page-4') {
        $('.page.current').removeClass('current');
        $('.page').eq(3).addClass('current');
    }
    $('nav a').click(function(){
        var speed = 200;
        var i = $(this).index();
        $('.page.current').animate({opacity: 0, marginTop:0},speed,function(){
            $(this).removeClass('current');
            $('.page').eq(i).css('marginTop',30).animate({opacity:1,marginTop: 0},speed).addClass('current');
        });
    });
});

每当我将链接放在无序列表中时,它就会停止知道要显示哪个div。我不是Javascript的专家,因为我只是借用代码,但我猜是把它放在列表中会阻止代码知道哪一个按顺序(如果有意义)。任何帮助将非常感激。这是一个jsFiddle:http://jsfiddle.net/YUH6s/1/ 谢谢。

1 个答案:

答案 0 :(得分:1)

在您的标记中,锚链接的索引始终为0,而您的eq方法仅选择第一个.page元素。您可以找到parent li元素的索引。

更改:

$(this).index()

要:

$(this).parent().index()

http://jsfiddle.net/Xht3v/