web-dev-qa-db-fra.com

Le script Jquery Marquee ne fonctionne pas dans joomla?

Je veux marquer certains contenus div avec continue de défiler. Je crée un module puis a ajouté le jQuery à partir de cette URL: https://github.com/aamirafridi/jQuery . Ce code fonctionne correctement sur notre serveur local mais pas sur mon site Joomla. Ma default.php est

<?php 
defined('_JEXEC') or die('Restricted Access');
$document = JFactory::getDocument();
$document->addStyleSheet('modules/mod_Marquee/css/style.css');
$document->addScript('modules/mod_Marquee/js/jquery-2.1.1.min.js');
$document->addScript('modules/mod_Marquee/js/jquery.Marquee.min.js');
$document->addScript('modules/mod_Marquee/js/script.js');?>
<div class="row-fluid">
    <div class="span12">
        <div class="row-fluid" data-duration='5000' data-gap='10' data-dupilcated='true'>
            <div class="row Marquee">
            <div class="span3" align="center">level 2 column and ger more variables</div>
            <div class="span3" align="center">level 2 column</div>
            <div class="span3" align="center">level 2 column</div>
            <div class="span3" align="center">level 2 column</div>
            </div>
        </div>
    </div>
</div>

Mon script.js est: enter image description here

2
reegan29

La première chose est la première:

n'importez pas de bibliothèque jQuery non officielle créée par quelqu'un!

Désormais, lors de l'importation d'un script, vous devez toujours définir la racine de votre site à l'aide de JUri::root(). Vous devriez également utiliser la méthode JHtml de Joomla. Alors remplacez ceci:

$document->addStyleSheet('modules/mod_Marquee/css/style.css');
$document->addScript('modules/mod_Marquee/js/jquery-2.1.1.min.js');
$document->addScript('modules/mod_Marquee/js/jquery.Marquee.min.js');
$document->addScript('modules/mod_Marquee/js/script.js');

avec ça:

JHtml::_('stylesheet', JUri::root() . 'modules/mod_Marquee/css/style.css');
JHtml::_('script', 'http://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js');
JHtml::_('script', JUri::root() . 'modules/mod_Marquee/js/jquery.Marquee.min.js');
JHtml::_('script', JUri::root() . 'modules/mod_Marquee/js/script.js');

Je ne suis pas sûr de la version de Joomla que vous utilisez en consultant mon répondez à une autre question pour importer jQuery correctement

Quant à votre script, essayez plutôt de l’utiliser au début:

jQuery(window).on('load', function($) {

sinon essayez d'utiliser:

jQuery(document).ready(function($) {
2
Lodder