1

I use DJ Image Slider on my Joomla 3.3.1 to get an animated banner. The module works fine on both home pages (it's a bilingual website) but not all the other menu-items where the first slide is loaded but the module remains static.It doesn't "auto slide" nor can you navigate to the other slides. (You can see what I mean here)

I can't find the source of this issue. Any idea ?

Thanks a lot for your help!

4
  • 1
    Javascript conflicts. Open the developer tools in your browser to debug.
    – FFrewin
    Commented Aug 18, 2014 at 7:14
  • You're right FFrewin. I can see the Javascript conflicts in the debug console. However I don't understand how I am supposed to solve them.
    – MagTun
    Commented Aug 18, 2014 at 7:53
  • 1
    Check also in my answer below - I added 2 links that contain general troubleshooting steps for JS conflicts in Joomla sites.
    – FFrewin
    Commented Aug 18, 2014 at 10:21
  • The answer with the links: joomla.stackexchange.com/questions/4082/…
    – FFrewin
    Commented Mar 25, 2016 at 0:39

5 Answers 5

2

As mentioned it's a js issue, you could try to debug this manually however it may take some time. I have used this image slider in the past and had some issues with js conflicts, however I was able to resolve them - see below.

You should try using this plugin to resolve your issue. Its a plugin that removes unnecessary multiple occurrences of jQuery libraries - which may be your issue?

Using the plugin it's possible to;

  • Disable MooTools libraries tentatively in the frontend.
  • Enable or disable the plugin in specific portions of the site, from template to single page.
  • Use reporting to get feedback on what the plugin engine has done.
  • Add or remove scripts and stylesheets.
  • Strip blank lines left by the modifications made to the page.
  • Prevent some libraries to be stripped out.
  • Modify the way the engine works by default (do not add or remove noConflict() code…).

Try all of the available options in the config of the plugin settings (different js versions etc), hopefully one of them will work for you.

Hope this helps.

1
  • I have tried with several different settings and none of them did work so far.
    – MagTun
    Commented Aug 18, 2014 at 12:57
2

Ok, think about this logically. It works fine on the homepage but not on other pages.

This could mean that there is another script being loaded on other pages that is causing problems. Could be that there is a missing tag somewhere. You would be best off disabling (not uninstalling) each extensions, 1 by 1 that are associated with the other pages. After disabling each extension, refresh the page to see if the problem still occurs. You may also want to take into consideration that the scripts are being loaded in a different order on all other pages.

Before doing this though, at a guess, I think it might be due to the fact that this:

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

is being loaded after this:

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

Powertools is used to create custom events, therefore it's possible that djmenu.js is trying to create an event but can't because the file hasn't loaded yet.

4
  • Thanks Lodder, is there a way to force /modules/mod_djimageslider/assets/powertools-1.2.0.js to load before /modules/mod_djmenu/assets/js/jquery.djmenu.js? I will to your other suggestion tonight, but I am not sure it's will give me the answer as even on plain single article page (no extension other than dj menu), the slider isn't working.
    – MagTun
    Commented Aug 18, 2014 at 12:55
  • Maybe you can try using the jQuery Easy plugin. There is an option to disable and enable scripts, so maybe try adding both of the above scripts in my answer to the disable and enabled fields. Not sure if this will work but worth a try
    – Lodder
    Commented Aug 18, 2014 at 13:23
  • I just tried disable and enable the scripts, I tried different combinaisons of order but it didn't solve the problem.
    – MagTun
    Commented Aug 18, 2014 at 16:08
  • @Arone - In which case I'm not 100% sure. Maybe someone else might be able to provide you an answer with that. I would only be able to provide a solution using a core hack which I'm not even going to bother mentioning as I would become JSE's Most Wanted. I think there is another extension causing the change of order. Try disabling them 1 by 1 as mentioned in my answer, starting with Rockettheme extensions
    – Lodder
    Commented Aug 18, 2014 at 19:57
1

For some reason the javascript file is not loaded on the other pages, only on the home. This is the js error you have: " Uncaught TypeError: object is not a function Uncaught ReferenceError: DJImageSliderModule is not defined " Make sure you have this line in your template index.php:

Or check the template settings of the pages. This is the first two things I can think about for now.

5
  • Thanks Eva. What do you mean by "Make sure you have this line in your template index.php" I don't understand which line you are talking about.
    – MagTun
    Commented Aug 18, 2014 at 7:21
  • Hi Arone! Sorry, I just had a closer look at the site and as far as I can see, you are using protostar template. Commented Aug 18, 2014 at 8:14
  • yes, protostar is my template. Is there a problem with this template?
    – MagTun
    Commented Aug 18, 2014 at 8:19
  • Hi, no, I just clicked on send too early :) This is a default joomla template so you do not have to worry about that line, it is there for sure. Also, your javascript file is loaded, so if you are using any other type of javascript module or plugin on that page, there might be a js conflict between them. Try a plugin like: extensions.joomla.org/extensions/core-enhancements/performance/… Commented Aug 18, 2014 at 8:23
  • The thing is that even in single article page (article only with html, no javascript), the slider isn't working. I am giving a try to your plugin, will let you how it goes!
    – MagTun
    Commented Aug 18, 2014 at 8:27
1

Debugging such issues needs some work and time and usually access to the site is very helpful.

I do not have much time at the moment to review your front-end.

A few things that you could try are:

  1. check if multiple instances of js libraries e.g. jQuery are loaded and disable them, leaving only one load.

  2. Try by disabling other extensions to see if any of them conflict with each other. Sometimes we have to leave some extensions if they do cause us such issues.

External Links
A few resources with good information about spotting and troubleshooting js issues solving jQuery / Mootools conflict issues with the jQuery-easy-plugin and how to resolve jQuery conflicts

0
0

Most probably multiple jquery is the reason or wrong declaration of javascript files. You can try this at the top of template page in between head tags.

<?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");
    }
?>

It may helps you. Thanks.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.