2015-04-26 85 views
0

我正在一個完整的頁面網站上,並決定使用Fullpage.js插件,但我在通過AJAX請求加載內容方面存在一些問題。我使用JSON內容填充頁面,出於某種原因,scrollOverflow選項無法正常工作。更有趣的是,它在XAMPP環境中工作得非常好,但在實時託管環境(Bluehost)中失敗。我有一種感覺網站資源沒有被正確加載,但我不確定這是否會導致問題。沒有控制檯錯誤,並且正在加載所有資源。FullPage.js scrollOverflow無法正常加載內容

初始化:

$(document).ready(function() { 
$.ajax({ 
    type: 'POST', 
    url: 'content.json', 
    dataType: 'json', 
    contentType: "text/json; charset=utf-8", 
    success: function(e) { 
     $('.slide').each(function(index){ 
      console.log(index); 
      $(this).children('.fp-tableCell').html('<span class = "center"><div class="circle-logo"><div class="circle-fill"><i class="'+e.platform[index].i+'"></i></div></div><h1 class = "montserrat">'+e.platform[index].h+'</h1><p class = "hind">'+e.platform[index].p+'</p><span>'); 
     }); 
     for(var i = 0; i<e.about.length; i++){ 
      $('#section2').children('.fp-tableCell').append('<h2 class = "montserrat">'+e.about[i].h+'</h2><p class = "hind">'+e.about[i].p+'</p>'); 
     } 
     $('#section2').children('.fp-tableCell').append('<hr>'); 
     $('#section2').children('.fp-tableCell').append('<p class = "hind">CRAFTED BY DAVE | &copy; NATHAN</p>'); 
    }, 
    error: function(e){ 
     console.log(e); 
    } 
}); 

$('#downhint').click(function(){ 
    console.log('click'); 
    $.fn.fullpage.moveSectionDown(); 
}); 

$('#fullpage').fullpage({ 
    sectionsColor: ['transparent', '#021b80', '#FFF'], 
    anchors: ['landing', 'platform', 'about'], 
    menu: '#menu', 
    scrollOverflow: true, 
    slidesNavigation: true, 
    afterLoad: function(anchorLink, index){ 

     $('.fp-table .active').css('overflow-y','auto'); 

     if(index == 1){ 
      $('#menu li:nth-child(1) a').addClass('active-link'); 
      $('#menu li:not(:nth-child(1)) a').removeClass('active-link'); 
     } 
     if(index == 2){ 
      $('#menu li:nth-child(2) a').addClass('active-link'); 
      $('#menu li:not(:nth-child(2)) a').removeClass('active-link'); 
     } 
     if(index == 3){ 
      $('#menu li:nth-child(3) a').addClass('active-link'); 
      $('#menu li:not(:nth-child(3)) a').removeClass('active-link'); 
     } 

    } 
}); 
$(window).scroll 
}); 

包括:

<link rel="stylesheet" type="text/css" href="css/index.css" /> 

    <link href='http://fonts.googleapis.com/css?family=Montserrat' rel='stylesheet' type='text/css'> 
    <link href='http://fonts.googleapis.com/css?family=Hind' rel='stylesheet' type='text/css'> 
    <link href='css/bootstrap.min.css' rel='stylesheet' type='text/css'> 
    <link href='fonts/genericons/genericons/genericons.css' rel='stylesheet' type='text/css'> 

    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 

    <script type="text/javascript" src="js/index.js"></script> 
    <script type="text/javascript" src="js/jquery.slimscroll.min.js"></script> 
    <script type="text/javascript" src="fullpage/jquery.fullPage.js"></script> 

從我可以告訴我已經加載的所有必需的文件和腳本。提前致謝。

+0

定義您的意思*「scrollOverflow選項無法正常工作」*。 – Alvaro

+0

我有垂直溢出的內容(y軸)。滾動條未被創建,因此該部分內的內容不可滾動。內容是通過AJAX請求在第2行開始生成的。我需要讓滾動條初始化並使內容能夠滾動。 @Alvaro –

回答

1

根據您的最新評論。 您需要在將新內容加載到DOM結構後立即調用$.fn.fullpage.reBuild()

這樣,fullpage.js將重新計算內容大小並在必要時創建滾動條。

the docs

重建() 更新DOM結構以適應新的窗口大小或它的內容。 理想與AJAX結合使用調用或網站的DOM結構中的外部更改。