Vivo e respiro jQuery, ma mi piace anche trovare un plugin eccellente che faccia il lavoro che voglio perfettamente.Quanto male è jQuery * dentro * Codice MooTools?
L'app My Rails è codificata in jQuery, ma per il caricamento dei file, devo ancora trovare qualcosa di meglio di FancyUpload (meglio IMHO di Uploadify o SWFUpload). Dopo aver provato tutte e tre le librerie, FancyUpload è di gran lunga il migliore da integrare nella mia app.
Tuttavia, FancyUpload è basato su MooTools e il caricamento di entrambe le librerie (e tanto meno il loro utilizzo) inizia a essere un po 'un problema. Innanzitutto, carico MooTools solo sulle pagine che utilizzano la funzionalità di caricamento; tutte le altre pagine utilizzano esclusivamente jQuery. In secondo luogo, ho dovuto manually namespace many of my jQuery functions, che è leggermente fastidioso.
Ma forse la caratteristica più ingombrante di questa configurazione è che non conosco MooTools. Dato che sono stato in grado di fare praticamente tutto il resto con jQuery, non mi sono mai preso la briga di imparare. Ora che mi sto costringendo a usare questa libreria di FancyUpload (che amo e voglio continuare a utilizzare), mi trovo di fronte alla mia inettitudine in MooTools.
In particolare, qui è la mia funzione onFileSuccess
per FancyUpload:
onFileSuccess: function(file, response) {
var json = new Hash(JSON.decode(response, true) || {});
if (json.get('status') == '1') {
// success
file.element.addClass('file-success');
(function ($, elem, queue_item) {
$('#images').append($(elem).hide().fadeIn('slow'));
$(queue_item).fadeOut('slow', function() { $(this).remove(); });
})(jQuery, json.get('data'), file.element);
} else {
// failure
file.element.addClass('file-failed');
}
}
Come noterete, ho una funzione jQuery proprio nel bel mezzo di una funzione MooTools.
La mia domanda è questa: è una cosa davvero brutta da fare? La mia funzione funziona esattamente come voglio, ma non so se farò un salto in avanti verso un futuro disastro facendo questo.
Se questa è davvero una cattiva idea, qualcuno può darmi un puntatore su quale sarebbe il codice equivalente a MooTools?
Apprezzerei qualsiasi intuizione o aiuto.
Penso che non dovrebbe essere un problema.Farei un test cross-browser e presta attenzione quando eseguo l'aggiornamento a versioni più recenti dei framework. – Marko
l'equivalente di mootools sarebbe qualcosa come '$ (" images "). Adopt ($ (json.get (" data ")). Fade (0,1, {duration: 1000})); $ (file.element) .set ("tween", { onComplete: function() { this.element.dispose();} }) dissolvenza ("out"); ' - anche se è difficile. per dire quale variabile è un puntatore a un elemento e quale non lo è, mootools non ha bisogno di oggetti per passare attraverso $. –