Submitted by Marvine on
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 ?
$(main_affiche).scrollable();
Permalien Soumis par khtuluu le 18 Novembre, 2009 - 09:48
$(main_affiche).scrollable(); plutôt non ???
Nope ! Mon code est bon
Permalien Soumis par Marvine le 18 Novembre, 2009 - 10:49
Nope !
Mon code est bon (fonctionne sans drupal).
J'aimerais que ce soit un problème de syntaxe mais je n'ai pas l'impression :(.
J'ai résolu mon problème,
Permalien Soumis par Marvine le 19 Novembre, 2009 - 23:32
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.