我正在尝试将 fullpage.js 用于一个网站上的两个不同部分。基本上,当一个幻灯片被点击时,它会在下面显示一个子包装 div,它有自己的部分,在主要部分继续之前垂直滚动。
这是我正在使用的代码。我正在尝试通过 ajax 加载它,但我想知道是否有更简单的方法可以忽略。
$("#wrapper").fullpage({
verticalCentered: true,
resize : true,
anchors: ['section1', 'section2', 'section3', 'about'],
//menu:'#menu',
customScroll:true,
onLeave: function(index, nextIndex, direction){
//console.log(index+'|'+nextIndex+'|'+direction);
if (direction == 'down'){
$('.section:nth-child('+index+')').animate({'top':'0%'},0)
$('.section:nth-child('+nextIndex+')').animate({'top':'100%'},0).animate({'top':'0%'},500);
} else {
$('.section:nth-child('+nextIndex+')').animate({'top':'0%'},0);
$('.section:nth-child('+index+')').animate({'top':'0%'},0).animate({'top':'100%'},500).animate({'top':'500%'},0);
}
}
});
然后是删除它并添加一个新包装器的代码:
$(".sub_section").click(function() {
$("#wrapper").fullpage.destroy('all');
if (sub_section_open == false) {
$("#left_border").animate({"borderLeftWidth" : "0px"}, 300);
$("#right_border").animate({"borderRightWidth" : "0px"}, 300);
$("#top_border").animate({"borderTopWidth" : "0px"}, 300, function() {
$("#left_border").hide();
$("#right_border").hide();
$("#top_border").hide();
});
$(".sub_section .letters").slideUp("slow", function(){
$(".sub_section .content").css({'z-index': 1});
});
sub_section_open = true;
$(".btn_sub_section_close").show();
$( "#wrapper" ).load( "section1.html" );
$("#section1").fullpage({
verticalCentered: true,
resize : true,
anchors: ['ssection1', 'ssection2', 'ssection3', 'ssection4'],
menu:'#menu'
});
}
});
有任何想法吗?谢谢!
最佳答案
fullpage.js 只支持一个实例。
这是一个整页插件,它不是为了支持它们,因为它没有意义。它是整页,所有页面都将成为整页一个实例的一部分。
你可以很容易地在代码中看到它的证据,例如 in this line :
$('.fp-section').each(function(index){
页面上的任何部分,无论它使用哪个容器/包装器,都将在一个 fullpage 实例中处理。
关于javascript - fullpage.js 的多个实例,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24793062/