1/* 2 * Plugin fontsize 3 * Author: Simon Kement & Jessy Schneider 4 * Description : Plugin permettant d'augmenter ou de diminuer la taille 5 * de la police d'écriture d'un ou plusieurs éléments dans une page à l'aide 6 * de 3 boutons A+, A, A- 7 */ 8 9(function($){ 10 /* Définition du nom du plugin */ 11 $.fn.fontSizePlugin=function(options){ 12 13 /* Valeur par defaut pour plusieurs options */ 14 var defauts = { 15 "fontsize" : 1, 16 "fontsizemax" : 2, 17 "fontsizemin" : 0.7, 18 "speed" : 200, 19 "cible" : '<p>' 20 }; 21 22 /* 23 * Ici on récupère les options potentiels passé dans l'appel du plugin 24 * en ajoutant celle par defaut dans le cas ou il manquerait une option 25 * @params parametres : variable contenant l'ensemble des options 26 * @params fontsize : variable contenant la taille de la police d'écriture référente 27 * @params fontsizebase : variable contenant la taille initiale de la police d'écriture référente 28 */ 29 var data_value = $.map($(this).data('action'), function(value, index){ 30 return [value]; 31 }); 32 33 if (typeof options.cible != 'undefined'){ 34 35 options.cible = $.merge(options.cible, data_value); 36 } 37 else{ 38 options.cible = data_value; 39 } 40 41 if(typeof Cookies.get('font-size') != 'undefined'){ 42 var cookie_fontsize = Cookies.get('font-size'); 43 44 $.each(options.cible,function(index, value ){ 45 $(value).css('font-size', cookie_fontsize+'em'); 46 }); 47 } 48 49 50 var parametres = $.extend(defauts, options); 51 var fontsize = parametres.fontsize; 52 var fontsizebase = fontsize; 53 54 /* 55 * Fonction permettant d'animer le changement de taille de la police d'écriture 56 * @params selector : prend en valeur la cible du ou des éléments qui vont être affecté par 57 * notre plugin 58 * @params size : taille de police qui va être appliquer à notre selector 59 */ 60 function updateFontSize(selector, size){ 61 $(selector).animate({ 62 'font-size': size+'em', 63 },parametres.speed); 64 } 65 66 /* 67 * le code qui suit represente l'action qui va se passer à chaque fois que l'on va cliquer sur un des 68 * trois boutons relié au plugin 69 */ 70 return this.each(function(){ 71 72 /* 73 * Ici on augmente la taille de la police d'écriture lorsque le bouton avec 74 * l'id #fontUp est solicité 75 */ 76 $('#fontUp').click(function(){ 77 if(typeof Cookies.get('font-size') != 'undefined'){ 78 var cookie_fontsize = Cookies.get('font-size'); 79 fontsize = parseFloat(cookie_fontsize); 80 } 81 82 fontsize = fontsize + 0.1; 83 84 if(fontsize > parametres.fontsizemax){ 85 fontsize = parametres.fontsizemax; 86 } 87 88 $.each(parametres.cible,function(index, value ){ 89 updateFontSize(value,fontsize); 90 91 }); 92 93 Cookies.set('font-size', fontsize, {expires: 365}); 94 95 96 // $.each(options.cible_escape,function(index, value ){ 97 // updateFontSize(value,fontsizebase); 98 // }); 99 }); 100 101 /* 102 * Ici on diminu la taille de la police d'écriture lorsque le bouton avec 103 * l'id #fontDown est solicité 104 */ 105 $('#fontDown').click(function(){ 106 107 if(typeof Cookies.get('font-size') != 'undefined'){ 108 var cookie_fontsize = Cookies.get('font-size'); 109 fontsize = parseFloat(cookie_fontsize); 110 } 111 112 fontsize = fontsize - 0.1; 113 if(fontsize < parametres.fontsizemin){ 114 fontsize = parametres.fontsizemin; 115 } 116 $.each(parametres.cible,function(index, value ){ 117 updateFontSize(value,fontsize); 118 }); 119 120 Cookies.set('font-size', fontsize, {expires: 365}); 121 122 }); 123 124 /* 125 * Ici on augmente la taille de la police d'écriture lorsque le bouton avec 126 * l'id #fontNormal est solicité 127 */ 128 $('#fontNormal').click(function() { 129 130 if(typeof Cookies.get('font-size') != 'undefined'){ 131 var cookie_fontsize = Cookies.get('font-size'); 132 fontsize = parseFloat(cookie_fontsize); 133 } 134 135 $.each(parametres.cible,function(index, value ){ 136 updateFontSize(value,fontsizebase); 137 }); 138 139 fontsize = fontsizebase; 140 141 Cookies.set('font-size', fontsize, {expires: 365}); 142 143 }); 144 }); 145 } 146})(jQuery);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.