2016-06-29 25 views
5

Sto usando IntroJs sulla mia pagina per mostrare un tour. In generale tutto funziona, ma c'è un problema:IntroJS scorrimento non funzionante

Su una pagina, IntroJS ist non è in grado di scorrere, perché ho qualcosa come un div, che scorre sullo stesso div, quindi non tutta la pagina scorre, ma il div è scorrevole. Ora, quando definisco gli elementi del tour sugli elementi attualmente visibili, tutto funziona correttamente, ma se dovessi scorrere verso il basso nel div, non funzionerà più (in realtà cerca di scorrere verso il basso la pagina completa e mostra il passo in mezzo al nulla

Ecco come ho definito il tour:.?

this.intro = introJsModule.introJs(); 
    this.intro.setOptions({ 
     steps: [ 
     { 
      intro: "Hello user!" 
     }, 
     { 
      element: '.checkbox', 
      intro: "This is a checkbox" 
     }, 
     { 
      element: '#inputHor1', 
      intro: "This input looks very nice." 
     }, 
     { 
      element: '#anotherID', 
      intro: "This is the first section" 
     } 
     ]}); 
    this.intro.setOption('showStepNumbers', false); 
    } 

    startIntro() { 
    this.intro.start(); 
    } 

non v'è alcun modo per riparare quello

PS: quello che voglio dire (avendo sul mio sito) è qualcosa come here. Quindi le sezioni sulla destra sono dove definisco i passaggi, e quando c'è la necessità di scorrere verso il basso non funziona. In realtà l'unica differenza è che la mia barra di scorrimento è anche all'interno del "div right", quindi non faccio scorrere la pagina.

risposta

2

Possiamo vedere il js che stai utilizzando?

congetture:

L'evento onscroll funziona solo se:

  • Il div ha overflow: auto, overflow: scroll overflow-y: scorrere, ecc
  • Il div ha attualmente una barra di scorrimento visibile che può scorrere.
  • Il movimento del mouse fa effettivamente scorrere la barra di scorrimento.

Si potrebbe anche provare a utilizzare l'evento, invece di onscrollonmousewheel (se quello che si sta utilizzando ..)

+0

In realtà lo scorrimento è incluso in IntroJS, quindi esegue automaticamente lo scorrimento ... (quindi non ho alcun codice speciale per lo scorrimento, puoi trovarlo nel codice IntroJS in modo appropriato ..). Quando si guarda nel codice (https://github.com/usablica/intro.js/blob/master/intro.js), posso solo trovare 'window.scrollBy() '.... – user5638730

+0

' window.scrollBy() 'sembrerebbe indicare che sta andando per finestra scroll - non contiene' div'. Quindi questo è probabilmente il tuo problema. – littlewolf

+0

E c'è un modo semplice per cambiarlo nel codice sorgente di IntroJS? – user5638730