2016-07-20 2 views
3

Я разрабатываю проект в AngularJS, и я использую Fullpage.js для прокрутки страницы. Пока что так хорошо, проблема следующая:Fullpage JS, выполнить на разных страницах

Поскольку у меня есть внутренние страницы, вы также должны использовать скрипт прокрутки на этих страницах. Но даже создавая функцию Scope для работы на всех страницах или создать его с другим именем и начать в каждом из возвращает Вся страница следующее сообщение об ошибке:

Вся страница: Fullpage.js может быть инициализирован только один раз, и вы делаете это несколько раз!

Кто-нибудь знает, как я могу это сделать, чтобы при запуске функции другой страницы я отменил функцию FullPage на предыдущей странице и снова запустил еще одну функцию текущего контроллера?

Следит функции Я использую:

vm.rolagem_home = function(){ 
     $timeout(function(){ 
     $('#site').fullpage({ 
        //Navigation 
        menu: '#menu', 
        lockAnchors: false, 
        //anchors:['firstPage', 'secondPage', 'trespage'], 
        navigation: false, 
        navigationPosition: 'right', 
        //navigationTooltips: ['firstSlide', 'secondSlide'], 
        showActiveTooltip: false, 
        slidesNavigation: true, 
        slidesNavPosition: 'bottom', 

        //Scrolling 
        css3: true, 
        scrollingSpeed: 700, 
        autoScrolling: true, 
        fitToSection: true, 
        fitToSectionDelay: 1000, 
        scrollBar: false, 
        easing: 'easeInOutCubic', 
        easingcss3: 'ease', 
        loopBottom: false, 
        loopTop: false, 
        loopHorizontal: true, 
        continuousVertical: false, 
        //normalScrollElements: '#element1, .element2', 
        scrollOverflow: false, 
        scrollOverflowOptions: null, 
        touchSensitivity: 15, 
        normalScrollElementTouchThreshold: 5, 

        //Accessibility 
        keyboardScrolling: true, 
        animateAnchor: true, 
        recordHistory: true, 

        //Design 
        controlArrows: true, 
        verticalCentered: true, 
        // sectionsColor : ['#ccc', '#fff'], 
        paddingTop: '0em', 
        paddingBottom: '0px', 
        fixedElements: '#header, .footer', 
        responsiveWidth: 0, 
        responsiveHeight: 0, 

        //Custom selectors 
        sectionSelector: '.section', 
        slideSelector: '.slide', 

        //events 
        onLeave: function(index, nextIndex, direction){}, 
        afterLoad: function(anchorLink, index){}, 
        afterRender: function(){ 
         $(window).load(function() { 
          $('#loading').hide(); 
         }); 
        }, 
        afterResize: function(){}, 
        afterSlideLoad: function(anchorLink, index, slideAnchor, slideIndex){ 
         console.log(slideIndex); 
         if(slideIndex > 0){ 
          $('.fp-prev').show(); 
         }else{ 
          $('.fp-prev').hide(); 
         } 
         if(slideIndex == 6){ 
          $('.fp-next').hide(); 
         }else{ 
          $('.fp-next').show(); 
         } 
        }, 
        onSlideLeave: function(anchorLink, index, slideIndex, direction, nextSlideIndex){ 

        } 
       }); 
    }, 1000); 
    } 

ответ

2

Да, вы должны вызвать тот же DIV и уничтожить Всю страницу, так что вам удалось вызвать в другом Div снова.

if($('#agencia').fullpage() != ''){ 
 
     $('#agencia').fullpage.destroy('all'); 
 
}

Рабочая - https://codepen.io/alvarotrigo/pen/bdxBzv

Смежные вопросы