web-dev-qa-db-fra.com

Le curseur d’image se coince sur des éléments de menu autres que la maison.

J'utilise DJ Image Slider sur mon Joomla 3.3.1 pour obtenir une bannière animée. Le module fonctionne bien sur les deux pages d'accueil (c'est un site Web bilingue), mais pas sur tous les autres éléments de menu dans lesquels la première diapositive est chargée, mais le module reste statique. . (Vous pouvez voir ce que je veux dire ici )

Je ne trouve pas la source de ce problème. Une idée ?

Merci beaucoup pour votre aide!

1
MagTun

Comme mentionné plus haut, vous pouvez essayer de le déboguer manuellement, mais cela peut prendre un certain temps. J'ai déjà utilisé ce curseur d'image et rencontré quelques problèmes avec les conflits js, mais j'ai réussi à les résoudre - voir ci-dessous.

Vous devriez essayer d'utiliser ce plugin pour résoudre votre problème. C'est un plugin qui supprime les multiples occurrences inutiles de bibliothèques jQuery - quel peut être votre problème?

En utilisant le plugin, il est possible de:

  • Désactivez provisoirement les bibliothèques MooTools dans le frontend.
  • Activer ou désactiver le plug-in dans des parties spécifiques du site, du modèle à la page unique.
  • Utilisez les rapports pour obtenir des informations sur les résultats du moteur de plug-in.
  • Ajouter ou supprimer des scripts et des feuilles de style.
  • Bande les lignes vierges laissées par les modifications apportées à la page.
  • Empêcher certaines bibliothèques d'être supprimées.
  • Modifiez le mode de fonctionnement du moteur par défaut (n’ajoutez ni ne supprimez le code noConflict ()…).

Essayez toutes les options disponibles dans la configuration des paramètres du plugin (différentes versions de js, etc.), espérons que l’une d’elles fonctionnera pour vous.

J'espère que cela t'aides.

2
jonboy

Ok, pense à cela logiquement. Cela fonctionne bien sur la page d'accueil mais pas sur les autres pages.

Cela pourrait signifier qu'un autre script chargé sur d'autres pages pose problème. Peut-être qu'il y a une balise manquante quelque part. Vous feriez mieux de désactiver (et non de désinstaller) chaque extension, une par une, associée aux autres pages. Après avoir désactivé chaque extension, actualisez la page pour voir si le problème persiste. Vous voudrez peut-être aussi prendre en compte le fait que les scripts sont chargés dans un ordre différent sur toutes les autres pages.

Avant de faire cela, je pense que cela pourrait être dû au fait que:

/modules/mod_djimageslider/assets/powertools-1.2.0.js

est en cours de chargement après ceci:

/modules/mod_djmenu/assets/js/jquery.djmenu.js

Powertools est utilisé pour créer des événements personnalisés. Il est donc possible que djmenu.js tente de créer un événement mais ne peut pas car le fichier n'a pas encore été chargé.

2
Lodder

Pour une raison quelconque, le fichier javascript n'est pas chargé sur les autres pages, mais uniquement à la maison. Voici l'erreur js que vous avez: "Uncaught TypeError: l'objet n'est pas une fonction Uncaught ReferenceError: DJImageSliderModule n'est pas défini" Assurez-vous que cette ligne est dans votre modèle index.php:

Ou vérifiez les paramètres de modèle des pages. Ce sont les deux premières choses auxquelles je peux penser pour le moment.

1
Eva Farkasne

Déboguer de tels problèmes nécessite du travail et du temps, et généralement accéder au site est très utile.

Je n'ai pas beaucoup de temps pour le moment pour passer en revue votre front-end.

Quelques choses que vous pourriez essayer sont:

  1. vérifiez si plusieurs instances de bibliothèques js, par ex. jQuery sont chargés et les désactivent, ne laissant qu'un seul chargement.

  2. Essayez en désactivant les autres extensions pour voir si certaines d’entre elles sont en conflit. Parfois, nous devons laisser certaines extensions si elles nous causent de tels problèmes.

Liens externes
Quelques ressources contenant de bonnes informations sur la détection et le dépannage de problèmes js résolvant des problèmes de conflits jQuery/Mootools avec le plugin jQuery-easy-plugin et comment résoudre les conflits jQuery

1
FFrewin

La plupart du temps, jQuery multiple est probablement la raison ou la mauvaise déclaration des fichiers javascript. Vous pouvez essayer ceci en haut de la page de modèle entre les balises head.

<?php
    // load jQuery, if not loaded before 

    if(!JFactory::getApplication()->get('jquery')){
    JFactory::getApplication()->set('jquery',true);
    $document = JFactory::getDocument();
    $document->addScript(JUri::root() . "templates/template-name/js/jquery.js");
    }
?>

Cela peut vous aider. Merci.

0
Shiplu