2012-05-05 17 views
6

Sto lavorando su un modello per Joomla 2.5.x, utilizzando Twitter Bootstrap. Voglio anche usare il plug-in Carousel Bootstrap per quel modello.Twitter Bootstrap Carousel utilizzando Joomla e il suo Mootools

Ho riscontrato un problema quando il Carousel viene utilizzato con l'implementazione Mootools di Joomla. Lo stile dell'elemento Carousel viene modificato con un margine negativo, rendendolo invisibile all'utente. Per mostrarti esattamente cosa sta succedendo, ho preparato per te un jsfiddle http://jsfiddle.net/U2pHH/11/.

Il carosello è fare ogni seconda immagine non visibile all'utente causa delle mutate caroselli attributo di stile, ma l'utente dovrebbe vedere ogni diapositiva.

ho guardato già nel codice sorgente del plugin Carousel e Mootools file JS ma purtroppo couldnt capire la causa del problema. Ho pensato che forse era un problema di denominazione di funzioni/classi tra jQuery e Mootools, ma non ci sono stati problemi.

Spero che tu possa aiutarmi qui.

Modifica: ho capito che ha qualcosa a che fare con la classe Fx.Slide di mootools-more.js, eliminando la classe dal codice sorgente risolto il problema. Ma questo non è ancora una soluzione, qualsiasi aiuto è ancora molto apprezzato.

+0

@Andres Ilich Grazie per fissare il tag – mjainta

+0

Si sta lavorando bene sul mio browser (appena provato il link jsfiddle): Chrome 18 Mac OS Vedo tre immagini diverse, una normale, uno con il testo con bordo verde e uno più grande. – ajimix

+0

Sì, hai ragione, grazie. Quello è il mio cattivo lì, ho fatto il workaround commentando la classe Fx.Slide di Mootools lì e ho dimenticato di cambiare il link del file JS. Ho rimosso i commenti con questo http://jsfiddle.net/U2pHH/11/ – mjainta

risposta

0

Il problema è che Mootools più è in conflitto con Twitter bootstrap, è per questo che il suo comporta in modo strano la giostra. Ti suggerisco di usare solo jQuery o solo Mootools. C'è un bootstrap implementazione Mootools qui: https://github.com/anutron/mootools-bootstrap

+0

Grazie per la risposta. Ho visto anche bootstrap per Mootools, ma non ho visto alcuna implementazione per l'equivalente plug-in Carousel del bootstrap per jQuery. Forse dovrei stare con la soluzione alternativa e aspettare fino a quando c'è un'implementazione o partecipare e aiutarla a crearla. – mjainta

0

Avere lo stesso problema. Sto usando un plugin chiamato JB Library (http://www.joomlabamboo.com/joomla-extensions/jb-library-plugin-a-free-joomla-jquery-plugin) e questo ha le opzioni per rimuovere Mootools e/o Mootools More dall'amministratore. Dopo aver spento "Mootools" Il problema con il Carousel è più "corretto". Potrebbe essere una soluzione più facile che commentare le novità riguardo agli aggiornamenti. A meno che non sia necessario mootools-more.js per altre cose sul sito, ovviamente.

Speriamo che una soluzione migliore arrivi presto.

8

Ecco la correzione specifico per Joomla e MooTools più,

aggiungere questo codice dopo la chiamata JQ, si può essere in qualsiasi js file di

aggiungere

if (typeof jQuery != 'undefined') { 
(function($) { 
     $(document).ready(function(){ 
     $('.carousel').each(function(index, element) { 
       $(this)[index].slide = null; 
       }); 
     }); 
})(jQuery); 
} 
+1

Bene, questa è LA RISPOSTA ESATTA DELLA DOMANDA. Risolve il problema. Grazie mille, Benn !! – simon

+0

Sono d'accordo - funziona perfettamente !!! Non c'è bisogno di scherzare disabilitando Mootools (che mi ha causato mal di testa con altri moduli anche quando l'ho disabilitato con un'estensione Joomla) - semplicemente aggiungilo dopo il solito codice pronto per il documento. –

+1

Ottengo questo errore TypeE: $ (...) [indice] non è definito $ (this) [index] .slide = null; L'altro codice di @semyon ha funzionato meglio. – thednp

5

Un'altra implementazione dello stesso cosa che Benn ha fornito è

if (typeof jQuery != 'undefined' && typeof MooTools != 'undefined') { 
    Element.implement({ 
     slide: function(how, mode){ 
      return this; 
     } 
    }); 
} 

Quello che ho finalmente finito con - I creato personalizzatoMootools Altro build senzaFx.Far scorrere

+0

Questo ha funzionato per me, grazie mille. Con le risposte precedenti ottenevo: TypeError: $ (...) [index] non è definito $ (this) [index] .slide = null; – thednp

+0

Thx! Funziona meglio di altri. – StasGrin

0
(function($) 
{ 
    $(document).ready(function(){ 
     var bootstrapLoaded = (typeof $().carousel == 'function'); 
     var mootoolsLoaded = (typeof MooTools != 'undefined'); 
     if (bootstrapLoaded && mootoolsLoaded) { 
      Element.implement({ 
       hide: function() { 
        return this; 
       }, 
       show: function (v) { 
        return this; 
       }, 
       slide: function (v) { 
        return this; 
       } 
      }); 
     } 
    }); 
})(jQuery); 
+3

per favore spiega cosa fa questo codice e come risolve il problema dell'utente. –

+3

Sebbene questo codice possa rispondere alla domanda, fornire un contesto aggiuntivo su come e/o perché risolve il problema migliorerebbe il valore a lungo termine della risposta. –

Problemi correlati