jQuery Plugin: Characters lenght

Postado por: Pedro Rogério em

Você por um acaso já viu aqueles contadores de caracteres restantes em formulários e não teve a menor idéia ou saco pra fazer aquilo, pois bem, procurando no google achei um plugin para jQuery que faz isso de uma forma bem simples, mas sua aplicação é somente a inputs, não sendo aplicado a textareas:

jQuery.fn.counter = function() {
  $(this).each(function() {
    var max = $(this).attr('maxlength');
    var val = $(this).attr('value');
    var cur = 0;
    if(val) // value="", or no value at all will cause an error
      cur = val.length;
    var left = max-cur;
    $(this).after("<div class='counter'>"
      + left.toString()+"</div>");
    // You can use something like this to align the
    // counter to the right of the input field.
    var c = $(this).next(".counter");
    c.width(40);
    c.css("position","relative");
    c.css("top",-$(this).height()-8);
    c.css("left",$(this).width()+8);
    c.css("background","yellow");

    $(this).keyup(function(i) {
      var max = $(this).attr('maxlength');
      var val = $(this).attr('value');
      var cur = 0;
      if(val)
        cur = val.length;
      var left = max-cur;
      $(this).next(".counter").text(left.toString());
      return this;
    });
  });
  return this;
}

Continuar lendo »

Central Server

Recarregar somente o CSS da página com JavaScript

Postado por: Pedro Rogério em

Aqueles que são desenvolvedores sabem o quanto é martirizante ter que efetuar alguma alteração no arquivo CSS, mandar pro ar, dar um F5 ou CTRL + F5 para limpar o cache do navegador, esperar o browser baixar todo o site novamente para poder ver uma simples alteração efetuada no css funcionando. Agora imagine passar por isso com vários browsers abertos ao mesmo tempo? Você acaba perdendo um tempo precioso do seu dia com isso.

Mas como pra quase tudo na vida tem salvação, descobri recentemente uma forma de dar um reload no CSS da página sem ter que carregá-la totalmente, e ela se chama ReCSS. Basta adicionar esse JavaScript aos seus favoritos e executá-lo na página em que deseja:


javascript:void(function(){var i,a,s;a=document.getElementsByTagName('link');for(i=0;i<a.length;i++){s=a[i];if(s.rel.toLowerCase().indexOf('stylesheet')>=0&&s.href) {var h=s.href.replace(/(&|%5C?)forceReload=\d+/,'');s.href=h+(h.indexOf('?')>=0?'&':'?')+'forceReload='+(new Date().valueOf())}}})();

Introdução a jQuery com John Resig

Postado por: Pedro Rogério em

O Framework jQuery está se tornando a biblioteca JavaScript mais popular dos últimos tempos, isto é fato, até a Microsoft irá utilizá-la no .NET futuramente. Sua utilização é extremamente simples, com ela você pode tem suporte ao DOM, eventos, Ajax, animações e várias outras coisas. Nesse vídeo de apresentação de John Resig (criador da jQuery) mostrado no AJAX Experience 2008 Conference você vai ficar conhecendo um pouco mais sobre a jQuery e irá aprender a fazer animações e construir um accordion do zero.

Vídeo (Objeto multimídia)

Via: Digital Skraps.

Seletores CSS com jQuery

Postado por: Pedro Rogério em

O Framework JavaScript jQuery nos oferece uma grande facilidade para manipular css na página de forma dinâmica. A única coisa que precisamos aprender é como acessar esses distintos elementos em nossa página web. Basta ter um pouco de conhecimento dos seletores que o jQuery disponibiliza: Seletores CSS, XPath, de formulário, mas os que você irá mais utilizar no seu dia-a-dia são os seguintes:

Elemento: foo

Todos os elementos que são do tipo foo. Exemplo:

$("div")

Seleciona todas as divs do documento HTML.

ID: #meuid

O elemento cujo o ID seja igual a #meuid. Exemplo:

$("#meuid")

Lembrem-se que os IDs nas páginas devem ser únicos, caso sejam repetidos, ele só irá pegar o primeiro elemento na página com ID citado.

Continuar lendo »

Máscaras em campos de formulários com jQuery

Postado por: Anderson Custódio em

Para criar máscaras com jQuery, iremos usar o plugin Masked Input, com apenas uma linha de código podemos criar qualquer tipo de máscara.

Para começar, caso não tenha o jQuery, faça o download do mesmo, após isso pegue o Masked Input, e apenas inclua-los em sua página.

Agora vamos criar as máscaras que precisamos.

jQuery.noConflict();
(function($) {
$(function() {
$('.mask-data').mask('99/99/9999'); //data
$('.mask-hora').mask('99:99'); //hora
$('.mask-fone').mask('(999) 999-9999'); //telefone
$('.mask-rg').mask('99.999.999-9'); //RG
$('.mask-ag').mask('9999-9'); //Agência
$('.mask-ag').mask('9.999-9'); //Conta
});
})(jQuery);

Repare que estou setando as máscaras para “classes”, no site do autor é usado “ids”, mas isso não é muito legal, caso tenha dois campos de telefone numa mesma página, teriamos que mecher no javascript, pois não pode haver “id” repetidos na mesma página.

Agora pra implemetar as máscaras é só incluir as classes setadas nos inputs dos formulários.

<input type="text" name="fone1" class="mask-fone" />
<input type="text" name="fone2" class="mask-fone" />
<input type="text" name="rg" class="mask-rg" />
<input type="text" name="cpf" class="mask-fpc" />

E pronto, já esta funcionando, repare que caso você erre, é possível alterar sem ter que apagar tudo, geralmente algumas máscaras, como a do Banco do Brasil, não deixa editar pelo meio do campo, temos que apagar e digitar tudo de novo, se não tudo que for digitado vai para o final do campo.

Para facilitar, recomendo colocar o código que gera as máscaras no final do código do plugin, sim no mesmo arquivo, assim você não precisa ficar refazendo, e é só incluir e usar.

Criar função dólar($) no JavaScript

Postado por: Pedro Rogério em

Você já pensou em efetuar economia de código ao criar seus códigos JavaScript? Será que ao invés de digitar um getElementById, não seria mais interessante você digitar um simples $(dólar), igual os mais famosos Frameworks JavaScript fazem? Micoxdeixou a sua sugestão, onde ao invés de você digitar isso:

function juntaEnd(){
    var rua = document.getElementById('input_rua').value
    var num = document.getElementById('input_num').value
    var bairro = document.getElementById('input_bairro').value
    var cidade = document.getElementById('input_cidade').value
    var estado = document.getElementById('input_estado').value
    return rua+num+bairro+cidade+estado
}

Seria melhor você criar uma outra função e utilizar dessa forma:

function get(quem) { return document.getElementById(quem) }
function juntaEnd(){
	var rua = get('input_rua').value
	var num = get('input_num').value
	var bairro = get('input_bairro').value
	var cidade = get('input_cidade').value
	var estado = get('input_estado').value
	return rua+num+bairro+cidade+estado
}

Agora, semelhante aos Frameworks JavaScript:

function $(obj){
	return document.getElementById(obj);
}

Adaptado ao código do Micox, ficaria da seguinte forma:

function $(obj) { return document.getElementById(obj) }
function juntaEnd(){
	var rua = $('input_rua').value
	var num = $('input_num').value
	var bairro = $('input_bairro').value
	var cidade = $('input_cidade').value
	var estado = $('input_estado').value
	return rua+num+bairro+cidade+estado
}

Como podem ver, é uma boa economia de código.

Peppy – Seletor JavaScript CSS3 mais rápido da Web

Postado por: Pedro Rogério em

James Donaghue desenvolveu recentemente um Framework, chamado Peppy que serve unicamente para selecionar os elementos de nossas páginas através de seletores CSS3. Sua velocidade em relação aos outros Frameworks é seu diferencial, chegando a desbancar outros Frameworks como Sizzle e Ext 2.2, sem falar de Mootools, jQuery, Prototype.

Nos testes executados, ele apresentou os seguintes resultados em relação os Frameworks mais conhecidos:

  • 4x mais rápido no Firefox 3.
  • 6x mais rápido no Firefox 2.
  • 8x mais rápido no Internet Explorer 7.
  • 3x mais rápido no Internet Explorer 6.
  • 3x mais rápido no Opera 9.
  • 4x mais rápido no Safari 3.

Referente a seu maior concorrente, Sizzle, ele apresentou os seguintes resultados:

  • 1.2x mais rápido no Firefox 3.
  • 1.3x mais rápido no Firefox 2.
  • 11.1x mais rápido no Internet Explorer 7.
  • 4.5x mais rápido no Internet Explorer 6.
  • 0x mais rápido no Opera 9.
  • 4x mais rápido no Safari 3.

Caso queira efetuar testes de velocidade com o Peppy em relação a outros Frameworks, é só dar uma olhada no Slickspeed, as velocidades podem variar de browser para browser.

Páginas:«123456789...14»