Problème de remplacement par défaut de la barre de défilement à l'aide de jQuery plugin
Je voudrais remplacer la valeur par défaut de la barre de défilement de mon site (CETTE page en particulier) à l'aide d'un plugin jQuery appelé TinyScrollbar. Cependant, pour certaines raisons, je reçois le message d'erreur suivant sur la page:
jquery.tinyscrollbar.min.js:1Uncaught TypeError: Cannot read property 'offsetHeight' of undefined
Vous pouvez voir cette erreur par l'inspection de l'élément dans le navigateur Chrome.
Pourrait-on avoir des idées pourquoi cette erreur se produit? Le code je l'utilise pour initialiser le plugin peut être vu ci-dessous:
$('#full-height-template-container').tinyscrollbar();
- le problème peut-être dans votre
fadeIn
, essayez d'utiliser fadin decallback
func puis assigner tinyscroll à l'élément, puisque l'élément n'a pas de décalage jusqu'à ce qu'il est:visible
- Comment dois-je procéder? J'ai pensé depuis que j'ai été appeler tinyScroll après fadeIn il n'y aurait pas de problème. Dois-je viens de faire .fadeIn(function(){ minuscule faites défiler jusqu'ici } );
- N'a pas de document.prêt à courir après le DOM est chargé?
InformationsquelleAutor | 2012-04-16
Vous devez vous connecter pour publier un commentaire.
Le problème, c'est que vous n'utilisez pas le plugin que vous êtes censé utiliser.
L'erreur (dans firefox firebug), en utilisant le fichier source de tinescrollbar, spectacles:
oViewport.obj[0]
estundefined
.Si vous regardez quelques lignes dans le code source, vous pouvez voir que la propriété obj oViewport est défini comme :
$('.viewport', root)
. Ici est la racine de votre conteneur. Apparemment il ne trouve pas un élément html avec la classe .fenêtre d'affichage . Votre page ne contient pas un élément html avec une telle classe!Si vous regardez tinyscrollbar de site web vous pouvez le voir dans la section " comment construire le HTML approprié pour le plugin fonctionne.
Peut-être plus facile (plug-in similaire), vous pouvez utiliser est jScrollPane. Ne nécessite pas le code HTML afin d'être mis en place comme tiniscrollbar de l'.
La petite barre de Défilement site ne mentionne pas que la bibliothèque JS a la classe des noms codés en dur en elle. Vous pouvez changer ce par l'extension de la bibliothèque d'accepter les noms de classe de l'individu, éléments html requis.