Comment modifier le fichier de plugin jQuery minimisé?
-
28-10-2019 - |
Question
Je souhaite éditer le fichier supersized.3.1.3.core.min.js.
Voici le code (placé ici temporairement):
(function(a){a(document).ready(function(){a("body").prepend('<div id="supersized-loader"></div>').append('<div id="supersized"></div>')});a.supersized=function(b){var d={start_slide:1,vertical_center:0,horizontal_center:0,min_width:0,min_height:0,fit_portrait:0,fit_landscape:0,image_protect:1};var c=a("#supersized");if(b){var b=a.extend(d,b)}else{var b=a.extend(d)}if(b.start_slide){var f=b.start_slide-1}else{var f=Math.floor(Math.random()*b.slides.length)}a("<img/>").attr("src",b.slides[f].image).appendTo(c);c.hide();a(document).ready(function(){e()});a(window).load(function(){a("#supersized-loader").hide();c.fadeIn("fast");e()});a(window).resize(function(){e()});function e(){return c.each(function(){var g=a("img",c);a(g).each(function(){var i=(a(this).height()/a(this).width()).toFixed(2);thisSlide=a(this);var h=a(window).width();var k=a(window).height();var l;if((k<=b.min_height)&&(h<=b.min_width)){if((k/h)>i){b.fit_landscape&&i<=1?j(true):m(true)}else{b.fit_portrait&&i>1?m(true):j(true)}}else{if(h<=b.min_width){if((k/h)>i){b.fit_landscape&&i<=1?j(true):m()}else{b.fit_portrait&&i>1?m():j(true)}}else{if(k<=b.min_height){if((k/h)>i){b.fit_landscape&&i<=1?j():m(true)}else{b.fit_portrait&&i>1?m(true):j()}}else{if((k/h)>i){b.fit_landscape&&i<=1?j():m()}else{b.fit_portrait&&i>1?m():j()}}}}function j(n){if(n){if(thisSlide.width()<h||thisSlide.width()<b.min_width){if(thisSlide.width()*i>=b.min_height){thisSlide.width(b.min_width);thisSlide.height(thisSlide.width()*i)}else{m()}}}else{if(b.min_height>=k&&!b.fit_landscape){if(h*i>=b.min_height||(h*i>=b.min_height&&i<=1)){thisSlide.width(h);thisSlide.height(h*i)}else{if(i>1){thisSlide.height(b.min_height);thisSlide.width(thisSlide.height()/i)}else{if(thisSlide.width()<h){thisSlide.width(h);thisSlide.height(thisSlide.width()*i)}}}}else{thisSlide.width(h);thisSlide.height(h*i)}}}function m(n){if(n){if(thisSlide.height()<k){if(thisSlide.height()/i>=b.min_width){thisSlide.height(b.min_height);thisSlide.width(thisSlide.height()/i)}else{j(true)}}}else{if(b.min_width>=h){if(k/i>=b.min_width||i>1){thisSlide.height(k);thisSlide.width(k/i)}else{if(i<=1){thisSlide.width(b.min_width);thisSlide.height(thisSlide.width()*i)}}}else{thisSlide.height(k);thisSlide.width(k/i)}}}if(b.horizontal_center){a(this).css("left",(h-a(this).width())/2)}if(b.vertical_center){a(this).css("top",(k-a(this).height())/2)}});if(b.image_protect){a("img",c).bind("contextmenu",function(){return false});a("img",c).bind("mousedown",function(){return false})}return false})}}})(jQuery);
Je souhaite ajouter ma ligne de code personnalisée:
$('#content').delay('fast').fadeIn('slow');
dans ce bit:
a(window).load(function(){a("#supersized-loader").hide();c.fadeIn("fast");e()});
pour que le #content div disparaisse lentement une fois l'image d'arrière-plan estompée.
J'ai fait cela dans la version non réduite, comme ceci:
$(window).load(function(){
$('#supersized-loader').hide(); //Hide loading animation
element.fadeIn('fast'); //Fade in background
resizenow();
$('#content').delay('fast').fadeIn('slow'); //my bit of code
});
- mais j'aimerais beaucoup savoir comment faire de même dans le code réduit.
J'apprécierais des conseils d'experts!
La solution
Vous pouvez simplement apporter les modifications à la version not-min du fichier .js, puis le sauvegarder à l'aide de l'un des nombreux outils Web.Puisque la version .min est juste un fichier .js complet, vous devriez être prêt à partir.
En voici une qui est utile: http://dean.edwards.name/packer/
Autres conseils
pourquoi ne pas travailler avec le code non minimisé, ajouter le vôtre, tout tester à votre satisfaction et puis réduire à nouveau?
Bien sûr, vous pouvez simplement supprimer les espaces blancs de votre fragement à insérer et le brancher directement, ce qui donne
a(window).load(function(){a("#supersized-loader").hide();c.fadeIn("fast");e();a('#content').delay('fast').fadeIn('slow')});
En supposant que e()
est resizenow()
, ce qui est une estimation raisonnable.
Avez-vous essayé
a(window).load(function(){a("#supersized-loader").hide();c.fadeIn("fast");$('#content').delay('fast').fadeIn('slow');e()});
pourquoi ne pas simplement réduire la version éditée non compressée?
voir http://developer.yahoo.com/yui/compressor/ pour plus de détailssur comment.