[RESOLU] jquery bug : is not a function

Information importante

En raison d'un grand nombre d'inscriptions de spammers sur notre site, polluant sans relache notre forum, nous suspendons la création de compte via le formulaire de "sign up".

Il est néanmoins toujours possible de devenir adhérent•e en faisant la demande sur cette page, rubrique "Inscription" : https://www.drupal.fr/contact


De plus, le forum est désormais "interdit en écriture". Il n'est plus autorisé d'y écrire un sujet/billet/commentaire.

Pour contacter la communauté, merci de rejoindre le slack "drupalfrance".

Si vous voulez contacter le bureau de l'association, utilisez le formulaire disponible ici, ou envoyez-nous un DM sur twitter.

Bonjour,

Je rencontre un soucis pour utiliser des fonctions de jquery inclus avec la librairie jquery tools (via le module jquery plugins de Drupal).

J'ai le code suivant :

$(document).ready(function() {
                 
       var accordion = $("#accordion") ;
       
      
      
       if ( accordion.size() > 0 )
     {  
            $("#accordion").tabs("#accordion div.pane", {tabs: 'h3', effect: 'slide', initialIndex: null});
          
               // initialize scrollable
          $("div.scrollable").scrollable({
          size: 4
            });
      }

           
var main_affiche = $("#main_affiche") ;
    
// main vertical scroll
  if ( main_affiche.size() > 0 )
      {  
                   main_affiche.scrollable({
          // basic settings
          vertical: true,
            size: 1,
           clickable: false,
          // items are auto-scrolled in 2 secnod interval
               interval: 3000,
               
              // when last item is encountered go back to first item
                loop: true, 
         
      
           // up/down keys will always control this scrollable
            keyboard: 'static',
     
           // assign left/right keys to the actively viewed scrollable
            onSeek: function(event, i) {
               horizontal.scrollable(i).focus();
          }
     
       // main navigator (thumbnail images)
       }).navigator("#main_affiche").autoscroll();
     
       // horizontal scrollables. each one is circular and has its own navigator instance
     var horizontal = $(".scrollable_affiche").scrollable({size: 1}).circular().navigator(".navi_affiche");
    
      
       // when page loads setup keyboard focus on the first horzontal scrollable
horizontal.eq(0).scrollable().focus();
       }
                         
                              
      
  
});   

Donc j'utilise l'effet accordion sans soucis sur un de mes nodes, par contre quand je veux appeler la fonction main_affiche.scrollable(); j'ai l'erreur suivante qui apparait (via firebug) :

main_affiche.scrollable is not a function

J'ai retourné le problème dans tous les sens, je ne m'en sors pas ! Est-ce un conflit de librairie ? Dans ce cas pourquoi ma fonction $("div.scrollable").scrollable() passe sans problème ?

Je précise que quand je sors ma 2ème partie du code en dehors du

$(document).ready(function() {}

je n'ai plus d'erreur mais ma fonction n'est pas appelée...

J'ajoute aussi que sans passer par drupal mon code fonctionne parfaitement !

Une idée ?

Forum : 
Version de Drupal : 

J'ai résolu mon problème, enfin en partie seulement puisque j'ai ajouté directement le fichier jquery.js dans lequel est stocké la fonction Scrollable() dans mon fichier script.js. Bizarre bizarre puisque le fichier était bien importé avant mais dans le de ma page ...

if ( main_affiche.size() > 0 )
{
<fichier js >
[...]
}

Bref, c'est un peu sale mais ça fonctionne faudra quand même que j'essaye de faire mieux.

Topic Résolu.