web-dev-qa-db-fra.com

Le fichier JavaScript ne se charge pas avant le dom

J'essaie de faire fonctionner un carrousel lisse sur mon Joomla 3.4. Je l'ai fait sur une page de test sans avoir Joomla et cela a bien fonctionné! J'ai tout essayé! le problème semble que le script se charge avant le dom ou avant qu'une certaine chose n'apparaisse. Donc, le fichier slick.js n'est pas excusé. En outre, il n'y a rien de mal avec le code HTML ou le code astucieux déjà testé sur un autre site.

chrome console show Cannot read property 'slick' of null Le code JavaScript est très simple. Il s’appelle slickme.js et utilise slick.min.js.

 $('.slidequiz').slick({
       dots: false,
    accessibility: false,
    infinite: false,
    draggable:false,
    speed: 500,
    mobileFirst: true,

    slidesToShow: 1,
    slidesToScroll: 1
  });

Chose que j'ai déjà essayé:

  1. en utilisant $(window).load(function(){...});

  2. en utilisant $(window).bind("load", function() {....}); ou $( document ).ready(function() {...}); chrome la console lève une erreur $(...).ready is not a function

  3. en utilisant $(function() {..} rien ne semble se passer et aucune erreur de console mais le carrousel glissant ne fonctionne pas et le dom n'est pas modifié par le js.

  4. J'ai essayé de changer le script en script intégré dans l'article

  5. J'ai essayé de changer le lieu de chargement du script sur la tête, puis sur le corps. J'utilise un modèle et, grâce à sa section, cela me permet d'ajouter des scripts personnalisés.

Actuellement, le script JS se trouve dans un fichier séparé appelé slickme.js qui se charge avec la bibliothèque slick.min.js à la fin de la balise body. Mon site Joomla

Toute aide est vraiment appréciée. Merci!

2
zeidanbm

Je viens de trouver une solution. j'ai utilisé

jQuery( document ).ready(function( $ ) { // Code goes here });

Je pense que jQuery.noConflict(); a été déclenché dans un autre script.

2
zeidanbm