2015-10-14 1 views
0

J'utilise le plugin jQuery, scrollTo, pour naviguer dans ma page Web. Lorsque je clique sur le bouton, il semble y avoir un scintillement rapide puis reprend pour continuer à défiler normalement. J'ai vu d'autres solutions où ils appellent la méthode preventDefault(), mais je ne sais pas comment je l'implémenterais dans mon cas. Voici ma méthode qui est appelée quand un lien est cliqué.jQuery scrollTo Plugin Flicker sur le défilement

function btn_Pressed(goTo){ 
    $(goTo).ScrollTo({ 
    duration: 1200 
    }); 
} 

C'est une méthode générique qui va défiler jusqu'à ce que l'ancre soit passée en argument. Qu'est-ce que je fais mal. CET FLICKER EST TELLEMENT OCCIDENTAL!

Répondre

0

J'ai trouvé une solution, mais je ne sais pas si c'est la solution la plus efficace. J'ai fait une fonction qui gère chaque clic de bouton afin que je puisse explicitement appeler et gérer chaque scroll tout en appelant preventDefault(). Voici un exemple ...

$(function(){ 
$("#btn_home").click(function(e) { 
      $('#myAffix').ScrollTo({ 
       duration: 1200, 

       }); 
      e.preventDefault(); 
}); 
$("#aboutUs").click(function(e) { 
      $('#anchorOne').ScrollTo({ 
       duration: 1200, 

       }); 
      e.preventDefault(); 
}); 
$("#btn_home").click(function(e) { 
      $('#myAffix').ScrollTo({ 
       duration: 1200, 

       }); 
      e.preventDefault(); 
    }); 

}); 
+0

Ce code n'est pas très SEC. Vous avez juste besoin de trouver où vous appelez la fonction btn_Pressed et passez l'événement en tant que second argument à cette fonction. Ensuite, vous pouvez utiliser preventDefault() comme vous le faites dans votre réponse et toujours utiliser une fonction pour gérer tous les clics. – boszlo