2017-03-08 2 views
0

Le code du plug-in est la suivante,fonction d'appel de plug-in en dehors jquery - slimscroll.js

(function($) { 
    jQuery.fn.extend({ 
      slimScroll: function(options) { 
      var defaults = { 
       .... 
      }; 

      this.each(function() { 
       function scrollContent(y, isWheel, isJump) { 
        .... 
       } 
       } 
       return this; 
      } 
      }); jQuery.fn.extend({ 
      slimscroll: jQuery.fn.slimScroll 
     }); 

Comment appeler la fonction scrollContent() de l'extérieur du plug-in?

j'ai essayé

$("#myId").Slimscroll().ScrollContent();

$("#myId").data("SlimScroll").ScrollContent();

Et bien d'autres façons, mais dosent semblent le faire fonctionner.

+0

est une méthode privée, il n'est pas accessible de l'extérieur. Pourquoi voudriez-vous y accéder? – Dhiraj

+0

Eh bien, en ajoutant des éléments à la div et je voudrais déclencher cette fonction. Et tout en supprimant les éléments espace vide apparaît. Et à la suite de cela des caluclations personnalisées se produisent à l'intérieur de slimscroll.js et l'espace vide disparaîtra donc .. – bharath

+0

Pourriez-vous s'il vous plaît me dire comment le rendre public afin que je puisse l'appeler? – bharath

Répondre

0

Comme le montre le code scrollContent est une méthode privée et n'est pas censé être accessible depuis l'extérieur du plugin. Au lieu de cela, vous pouvez rendre la barre de défilement en appelant simplement $("#myId").slimScroll() comme indiqué dans this example.

+0

J'ai essayé cela. Mais ne me donne pas le résultat souhaitable. La position de défilement perdrait si j'ajoute/supprime des éléments entre la div qui contient le slimscroll. – bharath

+0

Et theres aucun moyen de savoir ce que la position de défilement et la hauteur de la barre de défilement est, coz éléments dynamiquement est ajouté. – bharath

+0

Pourriez-vous utiliser 'var top = $ el.scrollTop();'? Et après avoir ajouté les éléments '$ el.slimScroll ({scrollTo: top})' – Bram