我正在使用此代码: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/ 谢谢。
答案 0 :(得分:1)
在您的标记中,锚链接的索引始终为0
,而您的eq
方法仅选择第一个.page
元素。您可以找到parent li元素的索引。
更改:
$(this).index()
要:
$(this).parent().index()