Esta es la forma en que hago algo similar en jQuery:
Lo hice anoche y probado en IE7, IE8, FF3.6, Safari 5, Chrome 10, y más.
Tengo un banner que se desborda cuando las personas alejan algunos navegadores. Así que compruebo el ancho de mi .nav. Si se envuelve, será más corto que su ancho completo.
$(function() {
//launch doZoomCheck on load
doZoomCheck();
$(window).resize(function() {
// .resize ALSO fires when people change the zoom of their browser.
doZoomCheck();
});
function doZoomCheck() {
var width = $(".nav ul").width();
// if the width of the banner isn't near 976 is prolly overflowing
if (width > 976) {
// change to narrow font so menu doesn't wrap funny
$(".nav ul li a, #footer .frankmed").css("font-family", "Arial Narrow");
}
// if width is back to normal change the font back
if (width < 976) {
// remove special styles when zoomed back out
$(".nav ul li a").attr('style','');
}
}
});
Estoy usando jQuery 1.5, prolly funciona de nuevo en 1.3.2 pero no lo he marcado.
Tenga en cuenta: Mi tamaño de fuente es 20px ya que Arial Narrow es muy legible en ese tamaño. No impido que el usuario cambie el tamaño de la fuente. No lo estoy anulando. Solo estoy cambiando una fuente. No use este script para el mal. No seas estúpido La accesibilidad es importante.
Por ejemplo, puede establecer '-webkit-transform: scale (1.25);' (en un navegador webkit, el equivalente en otros navegadores) para acercar un 25%. –