J'utilise un script de redimensionnement de texte jQuery, ici http://demos.cool-javascripts.com/jquery-fontsize-controller.html. Le scipt est la suivante:Aide sur le script de redimensionnement des polices jQuery (nommage du cookie)
function fontSize(container, target, minSize, defSize, maxSize) {
/*Editable settings*/
var minCaption = "Make font size smaller"; //title for smallFont button
var defCaption = "Make font size default"; //title for defaultFont button
var maxCaption = "Make font size larger"; //title for largefont button
//Now we'll add the font size changer interface in container
smallFontHtml = "<a href='javascript:void(0);' class='smallFont' title='" + minCaption +"'>" + minCaption + "</a> ";
defFontHtml = "<a href='javascript:void(0);' class='defaultFont' title='" + defCaption +"'>" + defCaption + "</a> ";
largeFontHtml = "<a href='javascript:void(0);' class='largeFont' title='" + maxCaption +"'>" + maxCaption + "</a> ";
$(container).html(smallFontHtml + defFontHtml + largeFontHtml);
//Read cookie & sets the fontsize
if ($.cookie != undefined) {
var cookie = target.replace(/[#. ]/g,'');
var value = $.cookie(cookie);
if (value != null) {
$(target).css('font-size', parseInt(value));
} else {
$(target).css('font-size', defSize);
}
}
//on clicking small font button, font size is decreased by 1px
$(container + " .smallFont").click(function(){
curSize = parseInt($(target).css("font-size"));
newSize = curSize - 1;
if (newSize >= minSize) {
$(target).css('font-size', newSize);
}
if (newSize <= minSize) {
$(container + " .smallFont").addClass("sdisabled");
}
if (newSize < maxSize) {
$(container + " .largeFont").removeClass("ldisabled");
}
updatefontCookie(target, newSize); //sets the cookie
});
//on clicking default font size button, font size is reset
$(container + " .defaultFont").click(function(){
$(target).css('font-size', defSize);
$(container + " .smallFont").removeClass("sdisabled");
$(container + " .largeFont").removeClass("ldisabled");
updatefontCookie(target, defSize);
});
//on clicking large font size button, font size is incremented by 1 to the maximum limit
$(container + " .largeFont").click(function(){
curSize = parseInt($(target).css("font-size"));
newSize = curSize + 1;
if (newSize <= maxSize) {
$(target).css('font-size', newSize);
}
if (newSize > minSize) {
$(container + " .smallFont").removeClass("sdisabled");
}
if (newSize >= maxSize) {
$(container + " .largeFont").addClass("ldisabled");
}
updatefontCookie(target, newSize);
});
function updatefontCookie(target, size) {
if ($.cookie != undefined) { //If cookie plugin available, set a cookie
var cookie = target.replace(/[#. ]/g,'');
$.cookie(cookie, size);
}
}
}
Il fonctionne très bien, et en collaboration avec le plug-in cookie jQuery, stocke correctement la taille de police souhaitée dans un cookie. Cependant, le cookie est toujours appelé à ce que la « cible » est, tel que défini dans l'appel de fonction:
function fontSize(container, target, minSize, defSize, maxSize)
function fontSize(".fontResizer", ".wrapper", 11, 13, 15);
Donc dans mon cas, il est toujours appelé « emballage ». Je ne peux pas pour la vie de moi comprendre comment spécifier un nom unique pour cela.
Quelqu'un a des idées?