Ir para conteúdo / Skip to content

Posts da categoria: ‘ JavaScript ’

Abrir links externos em nova janela com jQuery

blog reactions Postado em: 2 de maio de 2008 por Pedro Rogério

Recentemente, Trevor Davis postou em seu site uma solução para abrir links externos em uma nova janela com jQuery, que consiste no seguinte:


$(document).ready(function(){
	$("a[@href^='http']“).attr(’target’,'_blank’);
});

O que esse script faz é pegar todos os links da página que iniciem com http e com isso o JavaScript adiciona o atributo target com valor _blank. É uma solução muito interessante, mas a meu ver, eu utilizaria uma solução mais semântica:


$(document).ready(function(){
	$("a[@rel=external]").attr('target','_blank');
});

Minha solução pega todos os links da página que contenham o atributo rel=”external” e faça com que os mesmos abram em uma outra aba/janela. A meu ver, bem mais semântico. E você, tem alguma sugestão?

Aprenda jQuery com Dmitri Gaskin

blog reactions Postado em: 17 de abril de 2008 por Pedro Rogério

Enquanto eu aos 12 anos não sabia mexer no computador, esse NERD já contribui para a comunidade Open-Source mantendo códigos do Drupal e jQuery, e dando palestras por Los Angeles. Nas horas vagas ele diz que gosta de compor e tocar música contemporânea.

Vídeo (Objeto multimídia)

Via: Freak Group.

DOM Tool - Aprenda a gerar HTML a partir de JavaScript de forma fácil

blog reactions Postado em: 18 de março de 2008 por Pedro Rogério
Dom Tool

Já vi pessoas utilizarem document.write para gerar uma página inteira, e sinceramente, isso é ridículo, sendo que existem opções mais limpas e cômodas. Utilizar JavaScript para fazer uma página inteira é uma coisa ridícula, mas caso seja necessário, aconselho a utilizar a DOM Tool.

DOM Tool se encarrefa de converter qualquer porção de HTML nas correspondentes chamadas JavaScript. Dessa forma, a criação de pequenas porções de HTML a partir de JavaScript serão mais rápidas de implementar.

Via: Anieto2K - DOM Tool, genera HTML mediante JS de forma fácil.

DOM como alternativa ao innerHTML

blog reactions Postado em: 17 de março de 2008 por Pedro Rogério

innerHTML com certeza foi uma mão na roda para os desenvolvedores durante muito tempo, e ainda hoje existe muita gente que o utiliza seja por não conhecer outras alternativas ou por pura preguiça.

Quais os problemas de utilizar innerHTML?

  • innerHTML não é um padrão standard, é uma propriedade da Microsoft, e por isso já não é de se confiar muito.
  • As aplicações baseadas no MIME Type application/xhtml+xml não suportam essa propriedade.
  • A propriedade funciona como uma String, deixando de fora qualquer interação com o DOM que tentarmos introduzir.
  • Ao tratar-se de uma cadeia de texto, tereos alguns problemas com acentuação, fechamento de tags, comentários na página.

Criando múltiplos elementos

A partir de um Array, vamos criar uma lista de elementos uitlizando innerHTML e depois usando DOM.

innerHTML:


data = new Array("one","two","three");
mHTML = "<ul>";
for(i=0;i<data.length;i++) {
	mHTML+="<li>" + data[i] + "</li>";
}
mHTML+="</ul>";
document.getElementById("mContainer").innerHTML = mHTML;

Dessa forma definimos todo o HTML necessário para construírmos nossa lista, usando DOM seria dessa forma:

DOM:


data = new Array("one","two","three");
 // create the UL element that our LI elements will descend from
eUL = document.createElement(”ul”);
// loop over the length of the “data” array
for(i=0;i<data.length;i++) {
	// create an LI
	eLI = document.createElement(”li”);
	// append the value of data[i] to the LI as a text node
	eLI.appendChild(document.createTextNode(data[i]));
	// append the LI to the UL
	eUL.appendChild(eLI);
}
// append the UL to the “mContainer” element.
document.getElementById(”mContainer”).appendChild(eUL);

Referências

Google Maps sem o uso de JavaScript

blog reactions Postado em: 7 de março de 2008 por Pedro Rogério

Google Maps é uma ferramenta do Google que revolcucionou a Internet. Graças a geolocalização foram possíveis o desenvolvimento de aplicações como Panoramio. Mas se você achava que era impossível fazer o uso de Mapas do Google com imagens estáticas, estava muito errado.

Static Google Maps

Para fazer o uso de imagens desse tipo, você deve utilizar uma chave, que você obterá ao cadastrar seu site no Google Maps API. Uma vez com essa chave, podemos obter a imagem estática.


<img src="http://maps.google.com/staticmap?center=47.238336,8.827171&zoom=12&markers=40.416741,-3.70325,red&size=512×512&key=MAPS_API_KEY“>

Analisando a URL, veremos os parâmetros que intervêem e as quais podemos personalizar nosso mapa:

  • center: //Centro da imagen (ej: 0.0000,0.0000)
  • zoom: //Zoom que se aplica a imagen, de 0 a 19 (0 para longe, 19 para perto)
  • size: //Tamanho da imagem em pixels (máximo 512×512)
  • maptype: //Tipo de mapa (roadmap => Mapa para páginas web, mobile => Mapa para baixas resoluções)
  • markers: //Marcadores dentro do mapa. (ex: markers=40.702147,-74.015794,blues|40.711614,-74.012318,green)

Referências

EXTENSÕES DO DREAMWEAVER PARA FRAMEWORKS JAVASCRIPT

blog reactions Postado em: 18 de fevereiro de 2008 por Pedro Rogério

Se você utiliza o dreamweaver no seu dia-a-dia agora pode ficar feliz, pois demorou mais chegou, e agora o suporte do dreamweaver as livrarias JavaScript vieram em forma de extensões.

Vídeo (Objeto multimídia)

Todos os créditos do vídeo são do site Xtnd.us

Você pode encontrar extensões para:

  • jQuery API para Dreamweaver MX-CS3
  • Prototype API para Dreamweaver MX-CS3
  • Mochikit API para Dreamweaver MX-CS3
  • MooTools API para Dreamweaver MX-CS3
  • YUI API para Dreamweaver MX-CS3
  • Ext API para Dreamweaver MX-CS3

Para utilizá-las, basta ter o Extension Manager instalado no micro.

Referências

NAVEGUE COM JAVASCRIPT DESABILITADO E VEJA O CAOS ACONTECER NA WEB

blog reactions Postado em: 15 de fevereiro de 2008 por Pedro Rogério

Um dos grandes problemas hoje em dia no desenvolvimento para a Web é o uso de JavaScript Obstrutivo. Infelizmente, os desenvolvedores ainda fazem sites que só funcionam com o JavaScript habilitado e não se dão ao trabalho de procurar alternativas para aqueles usuários que não tem nenhum suporte a essa tecnologia.

Experimente navegar algumas horas sem o uso de JavaScript para ver o caos acontecer. Não sabe como desabilitá-lo? No Internet Explorer faça o seguinte: Vá até Opções da Internet > Segurança > Escolha a Zona Internet e depois clique em Nível Personalizado. Em Script ativo escolha Desabilitar.

Desabilitar JavaScript no IE

No Firefox vá até Ferramentas > Opções > Desmarque a caixa Permitir JavaScript.

Desabilitar JavaScript no Firefox

No Opera vá até Ferramentas > Preferências > Aba Avançado > Conteúdo > Desmarque a caixa Habilitar JavaScript.

Desabilitar JavaScript no Opera

Sentiu na pele agora como se sentem pessoas que fazem o uso de tecnologias assistivas? Deixe nos comentários a sua experiência.

DEBUGBAR - FIREBUG PARA INTERNET EXPLORER

blog reactions Postado em: 24 de janeiro de 2008 por Pedro Rogério
Debugbar

Debugbar é uma aplicação semelhante ao Firebug que se integra ao Internet Explorer e permite inspecionar código-fonte, CSS, marcação, JavaScript, DOM, os cabeçalhos HTTP e as informações gerais da página. Além também de possuir ferramentas parecidas com a Web Developer Toolbar, como redimensionamento da janela, color picker, noificação de erros, entre outros.

Debugbar é gratuito para uso pessoal ou educacional, e em seu Wiki você pode encontrar toda a informação necessária para seu uso.

Veja Também

Referências

COMPANION.JS - O FIREBUG DO INTERNET EXPLORER

blog reactions Postado em: 15 de janeiro de 2008 por Pedro Rogério

Companion.JS é uma daquelas maravilhas que todo desenvolvedor web deseja para melhorar a sua vida ou não. Se no Firefox utilizamos o Firebug, Companion.JS vem a ser uma versão limitada só que para Internet Explorer.

Introdução

Características

  • Alerta de erros JavaScript detalhados.
  • API para console similar a do Firebug.
  • Console JavaScript para inspecionar elementos em tempo real.
  • Ícone na barra para lançar o painel.

Requerimentos

  • Microsoft Script Debugger
  • Companion.JS

Instalação

Faça o download do Microsoft Script Debugger e Companion.JS.

Nos asseguramos das seguintes opções:

Opções do Plugin
  • Disable script debugging (Internet Explorer)
  • Disable script debugging (Others)

Estejam ativas em Ferramentas > Opções da Internet > Avançado.

Executar

Funcionamento

Referências

PANEL GALLERY - GALERIA DE IMAGENS

blog reactions Postado em: 11 de janeiro de 2008 por Pedro Rogério
Panel Gallery

Panel Gallery é uma opção interessante de se mostrar nossas imagens. Ele nos permite montar uma galeria de imagens mediante painéis estilo miniaturas, onde, ao invés de você dar um clique para ver a imagem em tamanho maior, você vai navegando com o mouse por diversos pontos da imagem para vê-la. Se a explicação ficou meio confusa, dêem uma olhada no exemplo.

Exemplo de uso:

Dentro da tag <head> colocamos o seguinte script:


<script type="text/javascript">

var xm = 0;
var ym = 0;

document.onmousemove = function(e){
	if (window.event) e=window.event;
	xm = e.clientX;
	ym = e.clientY;
}

var panel = {
	speed : .006,
	t : 0,
	O : [],
	over : false,

	run : function() {
		panel.t += panel.speed;
		for (var i = 0, o; o = panel.O[i]; i++)
			o.anim(i + panel.t);
	},

	init : function(){
		for (var i = 0, o; o = document.images[i]; i++){
			if (o.className.indexOf('panel') >= 0) {
				if(o.parentNode.href != undefined) {
					var div = document.createElement("a");
					div.href = o.parentNode.href;
				} else {
					var div = document.createElement("div");
				}
				div.className = 'panel';
				var img = document.createElement("img");
				img.src = o.src;
				img.className = 'imgPanel';
				o.parentNode.replaceChild(div,o);
				div.appendChild(img);
				div.ims = img.style;
				div.iw = img.width;
				div.ih = img.height;
				div.cx = -div.iw / 2;
				div.cy = -div.ih / 2;
				div.anim = function(t) {
					nw = this.offsetWidth;
					nh = this.offsetHeight;
					if (panel.over == this){
						for (var nx = 0, ny = 0, o = this; o != null; o = o.offsetParent) nx += o.offsetLeft, ny += o.offsetTop;
						var x = Math.max(-this.iw + nw, Math.min(0, (-(xm - nx) * (this.iw - nw)) / nw));
						var y = Math.max(-this.ih + nh, Math.min(0, (-(ym - ny) * (this.ih - nh)) / nh));
						if (Math.abs(xm-nx-nw * .5) > nw || Math.abs(ym-ny-nh * .5) > nw ) panel.over = false;
					} else {
						var mx = (this.iw - nw) * .5;
						var my = (this.ih - nh) * .5;
						var x = -mx * (1 + Math.cos(t * 1.2));
						var y = -my * (1 + Math.sin(t));
					}
					this.cx += (x - this.cx) * .1;
					this.cy += (y - this.cy) * .1;
					this.ims.left = Math.round(this.cx) + 'px';
					this.ims.top  = Math.round(this.cy) + 'px';
				}

				div.onmouseover = function()
				{
					panel.over = this;
				}
				this.O.push(div);
			}
		}
		setInterval(panel.run, 32);
	}
}

onload = function ()
{
	panel.init();
}

</script>

Aplicamos o CSS:


<style type="text/css">
	#screen {
		position: absolute;
		left: 22%;
		top: 20%;
		width: 60%;
		height: 60%;
		background: #fff;
		overflow: hidden;
	}
	.panel {
		position: relative;
		float: left;
		width: 21%;
		height: 30%;
		margin: 1%;
		overflow: hidden;
	}
	.imgPanel {
		position: absolute;
		border: none;
		text-decoration: none;
	}
</style>

E para finalizar, um simples HTML:


<div id="screen">
	<img class="panel" src="images/fl01.jpg" alt="">
	<img class="panel" src="images/slide110.jpg" alt="">
	<img class="panel" src="images/fl01.jpg" alt="">
	<img class="panel" src="images/fl01.jpg" alt="">
</div>

Download dos arquivos de exemplo.

Referências

Página 3 de 5«12345»