Joomla.it Forum
Joomla! 3 => Joomla! 3 => : MasterTheBest 10 Nov 2013, 00:33:20
-
Fermi!
Ho trovato questa discussione
http://forum.joomla.it/index.php/topic,199823.msg908846.html#msg908846 (http://forum.joomla.it/index.php/topic,199823.msg908846.html#msg908846)
poco utile, quindi ho deciso di aprire un topic dedicato.
Ho voluto creare un carousel con bootstrap ed ho seguito le solite linee guida.
Il problema è molto semplice:
- Se clicco per far scorrere il carousel, successivamente funziona in automatico
- Fintanto che non clicco, il carousel non inizia il suo sporco lavoro.
Ho aggiunto una volta in testa (prima della chiusura dell'head), una volta appena prima della fine di </html>
, quanto segue:
$(document).ready(function() {
$('.carousel').carousel({
pause:"hover"
})
});
Ma nessun risultato.
Aiutino?
-
ciao masterthebest, ricorda che questo è il forum di Joomla! e non di bootstrap
nella documentazione comunque sembra che non ci siano riferimenti all'autoplay (almeno non li ho trovati appena svegliato) ma prova a togliere uno dei due codici javascript che hai inserito e da quello restante elimina i parametri opzionali e vedi se cambia qualcosa, inoltre posta un link al tuo sito altrimenti c'è ben poco da fare...
-
Ciao giovi, grazie per la risposta.
Confido che altri, come utenti di joomla, abbiano avuto il medesimo problema; inoltre lavoro in locale e pertanto non posso postare molto.
Non ci sono due codici, ma uno solo : prima ho testato alla chiusura dell'head e, con un secondo test, rimuovendo lo stesso codice dall'head, ho posto lo script dopo la chiusura del body.
:'(
-
Ordunque, risolto l'arcano è un dannatissimo problema di conflitto tra Mootols e jQuery. Non capisco perchè mantenere entrambi i framework, comunque sia, seguendo questa guida
http://learn.jquery.com/using-jquery-core/avoid-conflicts-other-libraries/ (http://learn.jquery.com/using-jquery-core/avoid-conflicts-other-libraries/)
È bastato modificare il codice così
<script type="text/javascript">
var $j = jQuery.noConflict();
$j(document).ready(function() {
$j('.carousel').carousel({
pause:"hover"
})
});
</script>
-
Ma il tuo template include jQuery?
Joomla lo ha già nel core e si importa automaticamente in no-conflict mode così:
JHtml::_('jquery.framework').
Le mantiene tutte e due perché tanto non si danno fastidio a vicenda! Cito:
In order to load jQuery, use JHtml::_('jquery.framework');
This will load the jQuery version 1.8.1 library in no conflict mode. This means it is accessed via the jQuery namespace, not through $.
To load it in normal mode, call JHtml::_('jquery.framework', false);
Per quanto riguarda mootools:This framework is deprecated and may be removed in future versions.
purtroppo ci sono ancora estensioni sviluppate con questo framework e non possono essere abbandonate così drasticamente. Come vedi però il team di sviluppo si sta già adeguando ;)
-
Grazieeeeeeeeeeeeee!
Ma, se è deprecato, come mai protostar lo usa ancora?
-
non è "deprecato" nel senso di "brutto" ma nel senso che Joomla! si sta muovendo verso altri framework di supporto (come appunto jquery che è più utilizzato al momento, ma soprattutto è parte integrante del bootstrap) e chiaramente gli sviluppatori di Joomla! hanno preferito continuare ad offrire il supporto a tutte e due le librerie per non costringere gli sviluppatori come ad esempio quelli di protostar a modificare tutto il codice in un lasso di tempo così breve
mootools per certi versi è anche migliore di jquery ma è più difficile da usare, ecco tutto :)
-
Riapro, aggiungendo la soluzione senza strani magheggi.
JHtml::_('jquery.framework');
$doc= JFactory::getDocument();
$doc->addScriptDeclaration(' jQuery(document).ready(function() {
jQuery(\'.carousel\').carousel({
interval: 2000,
pause:"hover"})
})');
-
Ciao MasterTheBest,
Grazie per aver aperto questo thread. E' tutto il giorno che bestemmio su questo componente. L'ho smontato e rimontato, testato, analizzato e sì, può essere solo un conflitto...solo che, ho provato a scrivere l'ultimo codice che hai postato ma, sei sicurissimo che la sintassi sia corretta? Dreamweaver mi segnala che che un errore sulla riga che contiene:
$doc->addScriptDeclaration('jQuery(document).ready(function() {