it-swarm-eu.dev

La sceneggiatura di Jquery Marquee non funziona in joomla?

Voglio selezionare alcuni div di contenuto con lo scorrimento continuo. Creo un modulo quindi ho aggiunto jQuery da questo URL: https://github.com/aamirafridi/jQuery . Questo codice funziona correttamente nel nostro server locale ma non nel mio sito Joomla. Mio default.php è

<?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>

Il mio script.js è: enter image description here

2
reegan29

Cominciando dall'inizio:

non importare una libreria jQuery non ufficiale biforcuta da qualcuno!

Ora, quando importi uno script, dovresti sempre definire la radice del tuo sito usando JUri::root(). Dovresti anche usare il metodo JHtml di Joomla. Quindi sostituisci questo:

$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');

con questo:

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');

Non sono sicuro di quale versione di Joomla stai usando, dai un'occhiata al mio rispondi a un'altra domanda per importare correttamente jQuery

Per quanto riguarda lo script, prova invece a usarlo all'inizio:

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

altrimenti prova a usare:

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