Home Me envie um e-mail! Feed
Blog do yogodoshi

Script para o usuário poder aumentar e diminuir a fonte do site

Já começo falando que a maneira correta de se falar é “aumentar e diminuir a letra” (dica do Hugo Dias) para não confundir o usuário; essa foi a conclusão de um debate que rolou na internet justamente sobre a nomenclatura desse script.

O script consiste em aumentar e diminuir o tamanho da letra do site sem que seja necessário atualizar a página. Dentro do código você também pode definir o tamanho mínimo e máximo da letra como também as possíveis variações de tamanho.

Um exemplo de um código parecido pode ser visto aqui, na parte de cima da página, embaixo do topo e ao lado das opções “cadastre-se” e “login”.

O código é bem simples e está todo comentado. Usei nomes de variáveis em português e tentei ser o mais óbvio possível, só tem html (xhtml na verdade) e javascript no código.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
 
<script type="text/javascript">
// Início do código de Aumentar/ Diminuir a letra
 
// Para usar coloque o comando: "javascript:mudaTamanho('tag_ou_id_alvo', -1);" para diminuir
// e o comando "javascript:mudaTamanho('tag_ou_id_alvo', +1);" para aumentar
 
var tagAlvo = new Array('p'); //pega todas as tags p//
 
// Especificando os possíveis tamanhos de fontes, poderia ser: x-small, small...
var tamanhos = new Array( '9px','10px','11px','12px','13px','14px','15px' );
var tamanhoInicial = 2;
 
function mudaTamanho( idAlvo,acao ){
  if (!document.getElementById) return
  var selecionados = null,tamanho = tamanhoInicial,i,j,tagsAlvo;
  tamanho += acao;
  if ( tamanho < 0 ) tamanho = 0;
  if ( tamanho > 6 ) tamanho = 6;
  tamanhoInicial = tamanho;
  if ( !( selecionados = document.getElementById( idAlvo ) ) ) selecionados = document.getElementsByTagName( idAlvo )[ 0 ];
  
  selecionados.style.fontSize = tamanhos[ tamanho ];
  
  for ( i = 0; i < tagAlvo.length; i++ ){
    tagsAlvo = selecionados.getElementsByTagName( tagAlvo[ i ] );
    for ( j = 0; j < tagsAlvo.length; j++ ) tagsAlvo[ j ].style.fontSize = tamanhos[ tamanho ];
  }
}
// Fim do código de Aumentar/ Diminuir a letra
 
</script>
</head>
 
<body>
<a class="menos" href="javascript:mudaTamanho('texto', -1);">Diminuir</a>
<a class="mais" href="javascript:mudaTamanho('texto', 1);">Aumentar</a>
 
<div style="font-size: 11px;" id="texto">
    <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Curabitur  scelerisque purus ut pede. Ut pulvinar diam vitae tellus. Nunc  ultricies. Nam rhoncus justo vel dui. Morbi suscipit enim. Praesent dui  dui, tincidunt eget, feugiat vel, tincidunt vel, elit. Curabitur tempus  consequat nunc. Aliquam erat volutpat. Vivamus a massa non libero  posuere blandit. Nulla ut velit quis leo luctus tincidunt. Vestibulum  eget leo in augue ornare fringilla. Suspendisse suscipit dui. </p>
    <p>Nullam ultrices justo eget mi. Curabitur porta augue eget magna. Nam  imperdiet, ipsum eu aliquet interdum, justo ipsum pulvinar quam, quis  convallis mi sapien eu ante. Etiam ac sem. Ut bibendum. Nulla facilisi.  Vestibulum odio. Sed accumsan. Donec a dui. Cras lorem augue, egestas  vel, accumsan vel, elementum sit amet, nisl. Cras id dui. Sed nulla  ipsum, pulvinar et, suscipit a, vehicula eu, arcu. Fusce auctor nibh  eget risus. Vestibulum ante ipsum primis in faucibus orci luctus et  ultrices posuere cubilia Curae; Vestibulum vitae ante in odio dapibus  lobortis. </p>
</div>
 
</body>
</html>

Qualquer dúvida é só postar que farei o possível para ajudá-lo.

Veja também estas dicas:

feed Gostou do Blog?  Assine o RSS Feed ou receba em seu e-mail

Posts Relacionados:
Quanto CO2 o seu blog produz?
Vídeo-aula Photoshop: Coloque Neon nos faróis do seu carro
Vaga programador Actionscript para SP
Como validar radio buttons no javascript
Coloque um fade in e fade out no tooltip do seu site

Douglas diz,

Setembro 29, 2007 @ 6:08 pm

Essa não é a melhor opção, pois o javascript como está feito, funciona como um obstáculo. Quem não está com o javascript habilitado ou não tem suporte, fica sem poder aumentar e diminuir a fonte. Melhor é fazer a atualização da página normalmente, com as mudanças diretamente no CSS. A acessibilidade fica prejudicada da forma que esta demonstrada.

Todo Jogos - Blog de Jogos » Blog Archive » Script para o usuário poder aumentar e diminuir a fonte do site [3 votos] diz,

Setembro 30, 2007 @ 4:28 am

[…] Este blog que estoy leyendo ultimamente escribio un post muy interesante, Aqui os pongo un extracto frikis!!:O script consiste em aumentar e diminuir o tamanho da letra do site sem que seja necessário atualizar a página. Dentro do código você também pode definir o tamanho mínimo e máximo da letra como também as possíveis variações de tamanho. http://www.yogodoshi.com/blog/utilitarios/script-para-o-usuario-poder-aumentar-e-diminuir-a-fonte-do-site […]

yogodoshi diz,

Setembro 30, 2007 @ 8:16 pm

Não sei não Douglas, tenho diversos motivos para não querer a atualização da página:
- mais banda é usada
- adsense prejudicado
- maior tempo de espera do cliente etc…

Hoje em dia não conheço ninguém que navegue com o javascript desabilitado…

Mas acho que isso é muito de acordo com o perfil do visitante também, valeu a opinião!

Abraços!!

Diogo diz,

Outubro 2, 2007 @ 8:09 am

Olá,
Muitos parabéns pelo script. É útil para pessoas com baixa visão e não só. Se alguém estiver com dor de cabeça ser-lhe-á muito mais complicado ler uma página só com um determinado tamanho de letra. Assim em vez de uma pessoa só ficar alí 5 minutos já vai ficar mais tempo porque tem a possibilidade de aumentar a letra. A acessibilidade Web não é só para pessoas com necessidades especiais. A acessibilidade é para todos (por exemplo se o rato deixar de funcionar eu ter a possibilidade de usar o teclado) e traz benefíssios muito grandes. É pena que as grandes empresas ignorem isso. Se elas soubessem que aproximadamente 2 terços dos visitantes não acedem à página deles, talvez olhassem para isto de outra maneira.

yogodoshi diz,

Outubro 2, 2007 @ 10:39 am

Olá Diogo, realmente as pequenas e médias empresas (clientes, não agências) geralmente não querem investir em usabilidade. De vez em quando nem mesmo as agências se importam com isso, eu faço os meus códigos super preocupado se vai rodar no Firefox, no IE 6 e 7, penso na usabilidade, arquitetura da informação e meu chefe não dá o menor valor para isso =/

Abraços Diogo!

Nelson Ribas diz,

Outubro 22, 2007 @ 12:20 pm

Yogodoshi

Estava procurando este script para aumentar e diminuir o texto, achei aqui, só tem problema, quando copio o código ele me apresenta erros no HTML (texto) os símbolos &alt; e &alt: aparecem e ai tem que corrigir tudo, o que devo fazer?, outra coisa com este código como farei para que todas as paginas que eu acessar no site aumente as letras, estou montando meu site, .
Claro que nao sou nenhum expert no assunto , mas tento fazer o melhor possivel.
Grato pela atenção
Nelson

yogodoshi diz,

Outubro 22, 2007 @ 1:29 pm

Olá Nelson,
esse código está escrito em HTML + Javascript, se você está usando algum programa para desenvolver o seu site, como o Dreamweaver ou Frontpage, você deve colar esse código na seção do código da página e não na de design. Isso deve resolver o problema dos “&alt;”.

Uma maneira de fazer com que ess código funcione na página inteira é mudar “texto” para “body”, no código que está no link do trecho “aumentar” e “diminuir”.

Tendeu? Acho que me enrolei um pouco para explicar. =S

Abraços!

Angélica diz,

Fevereiro 26, 2008 @ 12:37 pm

Muito bom! Estava a 3 meses procurando por um script ou plugin do WordPress que fizesse esse mecanismo de aumentar e diminuir letras de textos, mas não achava de jeito nenhum =/

O seu é simples e funcional. Perfeito! Obrigada pela ajuda!

Beijos

Tiago Celestino diz,

Fevereiro 29, 2008 @ 10:52 am

Algo simples, porém eficiente.

Lilian Britto diz,

Março 12, 2008 @ 2:33 pm

Olá, tudo bem? Gostaria de utilizar esse script no meu blog, mas tenho uma dúvida, q pode até parecer boba… Mas… Onde eu coloco esse script? E outra dúvida: Como faço para q apareça na página onde desejo aumentar a letra? Desde já, eu agradeço.

yogodoshi diz,

Março 12, 2008 @ 4:57 pm

Olá Lilian, a tag < script > você deve colocar dentro das tag < head > e para aumentar e diminuir a letra basta você colocar algum link com os atributos href=”javascript:mudaTamanho(’texto’, 1);” e href=”javascript:mudaTamanho(’texto’, -1);”, respectivamente, em algum link da sua página.

Caso ainda tenha dúvidas, eu sugiro postar em algum forum (http://forum.imasters.com.br), onde existem mais pessoas para lhe ajudar assim poderão surgir diversas soluções e respostas mais rápidas.

Abraços!

Lilian Britto diz,

Março 12, 2008 @ 11:38 pm

Puxa, muito obrigada! Entendi sim! Pretendo colocar logo em meu blog. Vc foi muito gentil. Abraços, tenha um ótimo restinho de semana.

Samuel diz,

Março 31, 2008 @ 11:25 am

Não entendi bem a explicação, poderia postar um exemplo ?

Diego diz,

Abril 14, 2008 @ 8:58 pm

Muito legal, no entanto, a configuração da fonte é perdida quando se muda de página. Poderia ser feita uma função para manter isto, com cookies, por exemplo.

Abraço

yogodoshi diz,

Abril 14, 2008 @ 9:41 pm

Verdade!
Eu não tinha pensado nisso… por nunca utilizar desse mecanismo não tinha pensado que deve ser péssimo para o usuário ter que ficar aumentando a letra a cada link clicado. =/

Valeu a dica, abração!

Luiz diz,

Maio 15, 2008 @ 7:26 pm

Yogodoshi, obrigado pelo código. Procurei muito por ele, e aqui foi o lugar onde eu encontrei e funcionou.
Abraços!!!

Aline Araujo diz,

Novembro 5, 2008 @ 1:43 pm

Oi, bom o código. Porém ele não funciona em uma página que seja separada por divs. Ele nesse caso só irá aumentar o conteúdo da primeira div. Mas mesmo assim legal o cógido.

yogodoshi diz,

Novembro 5, 2008 @ 5:40 pm

É só usar em uma DIV que contenha as outras e de qualquer forma você não quer que o site inteiro tenha seu texto aumentado e diminuído para não estragar o layout; geralmente, eu quero apenas o conteúdo em si possa ter seu tamanho aumentado e diminuído. ^^

Abraços!

Suzana diz,

Março 17, 2009 @ 10:55 am

Yogodoshi,
Parabéns pelo código, funciona muito bem, excelente!! Testei vários e o seu foi o único que funcionou.
Gostaria que você me ajudasse em uma coisa: quando clicamos em aumentar ou diminuir, o script automaticamente transforma todos os elementos da página em um único tamanho (ex. H1, H2, p, table), eu substitui os valores em px por %, tipo 80%, 100%, 120%… Mas mesmo assim não está respeitando a diferença de tamanho entre as tags distintas… Você sabe como pode ser feito para respeitar isso?

Agradecida desde ja,

Suzana Ferreira

Geisa diz,

Março 17, 2009 @ 6:41 pm

Olá! Estou tentando usar o código na minha página, porém as especificações de tamanho de letra estão todas no CSS, é por isso que não está funcionando?

Obrigada!

yogodoshi diz,

Março 18, 2009 @ 12:24 am

Olá Suzana,
tenta ao invés de usar “%”, usar “em”. Caso não consiga, creio que terá que ser feito um código mais complexo que irá checar qual a tag selecionada e coisa do gênero… com jQuery não deve ser muito difícil criar algo parecido não, dê uma olhada neste framework depois.

Olá Geiza,
o problema não está no CSS, você deve estar fazendo algo de errado, sugiro postar a sua página/ código em algum forum onde terá várias pessoas para lhe ajudar. ^^

Abraços!

Liz Dantas diz,

Março 21, 2009 @ 9:07 am

Amigo
Estou querendo diminuir o tamanhos dos anúncios no meu site,já cancelei o ads,por não conseguir utiliza-lo,porém os anúncios continuam e muito grandes,poderia me ajudar neste sentido?
Muito obrigada

Luiz Junqueira diz,

Abril 18, 2009 @ 10:22 am

Não entendí como posso aumentar ou diminuir a fonte das páginas da web. Podem me ajudar? clico aonde? Grato.

Gerson diz,

Maio 15, 2009 @ 2:52 pm

Bom! vou testar depois volto pra comentar melhor. fui.

Everton diz,

Junho 4, 2009 @ 9:12 am

cara funfo quase tudo certinho o codigo esta otimo! ainda colokei uma outra tag para clicar e o texto voltar ao tamanho normal! porem ele n esta atualizando os marcadores vc sabe me dizer oq é?

Allan Lost diz,

Julho 13, 2009 @ 9:24 pm

script ta perfeito…
só coloquei algumas tags pra melhorar o funcionamento..

UP UP

Topico show

Gustavo Puggina diz,

Agosto 25, 2009 @ 8:33 pm

Bah tche, deve ser muito bom.
Tentei copiar pro dreamweaver, dentro do code view, apaguei tudo o que tinha lá e colei todo o codigo, veio todo como texto contínuo tive que dar enter em um monte de lugares, enfim, acho que devo ter colocado um enter em algum lugar errado, tentei comparar com teu código mas sou iniciante não vi nenhuma diferença. Mas quando clico no link aumentar ou diminuir dá “erro de página”, no firefox não mostra erro mas não acontece nada.
Podes me ajudar, posso mandar pra ti a página pra tu dar uma olhada ou algo parecido?

Valeu.

Click diz,

Setembro 7, 2009 @ 7:14 pm

Olá Yogodoshi.

Eu estava mexendo na acessibilidade do computador, para mudar o mouse para o teclado numérico, e funcionou.
Mas a letra lá de cima, do “título” diminuiu. Assim como a letra do que está aberto, quando eu aperto ALT + TAB, diminuíram.

E agora, como faço para voltarem ao normal? T_T

Obrigado, e abraços!

Click diz,

Setembro 7, 2009 @ 7:15 pm

Lá de cima, no título = A parte que está escrita, onde o fundo é azul. Do lado do “minimizar”, “maximizar” e “fechar”

=)

yogodoshi diz,

Setembro 8, 2009 @ 8:21 am

Entra no painel de controle de novo e aumenta a fonte, mudando por lá você aumenta todas as fontes no computador, inclusive do windows!

Abraços!

David diz,

Setembro 14, 2009 @ 9:12 pm

Muito util o codigo !
Foi de grande utilidade!
O problema é que não há quebra de linhas nele, o que dificultou sua edição.
No mais tdo OK
Parabéns

Bráulio Silveira diz,

Janeiro 5, 2010 @ 5:24 pm

Olá!!
Script Legal!!!

Fica mais interessante se ao invés de usar “px” usar “em” pra definir os tamanhos das letras.

E pra ter uma terceira opção,
tipo, esse script possibilita aumentar e diminuir,
mas se eu quizer colocar um terceiro link pra resetar, sem a necessidade d atualizar a página, como faço???

Flw!!

Diego Fávero diz,

Janeiro 14, 2010 @ 2:38 pm

Muito bom, parabéns e obrigado!

marcelo diz,

Fevereiro 1, 2010 @ 1:53 pm

obrigado, ajudou muito!
vlw!
té mais!

Tiago diz,

Maio 8, 2010 @ 7:22 pm

Prezado Cayo,

Gostei muito do script, todo comentado e de fácil compreensão. Muito interessante mesmo.

Olha, estou com uma dúvida na aplicação deste script em um site que utiliza WordPress. Você pode explicar com mais detalhes como seria o uso do script nesta plataforma?

Sinceros agradecimentos desde já, e parabéns pelo trabalho desenvolvido.

Oziel Luz diz,

Maio 22, 2010 @ 5:35 am

Achei interessante trabalhar com HOT POTATOES….so que quero diminuir e aumentar fonte e quadro no painel de exercicio…voce poderia me ajudar…..

Abraço………

Gian diz,

Junho 6, 2010 @ 4:08 pm

Ensina como por um formulario de comentarios igual o seu é meuito show!!!!!!!!!!

Gabriel Alves diz,

Julho 20, 2010 @ 1:01 am

Grande blog. Era disso mesmo que eu precisava!
Obrigado Cayo, e que tenha muito sucesso pela frente com sua sabedoria.

Assinar feed RSS de comentários neste post · TrackBack URI

Deixe seu comentário

Fechar
Envie por e-mail