Jump to content


Micox

Member Since 19/09/2006
Offline Last Active 11/01/2012, 12:43
-----

Topics I've Started

Pegando A Posição De Um Elemento Na Tela E Do Scroll

09/01/2012, 08:33

Vou postar umas 3 funçõezinhas rápidas pra ajudar a trabalhar visualmente com scroll e posicionamento de elementos na tela.

Pra minha alegria, lembrei que eu já tinha brincado com isso na época do velho Mwords, daí fui lá atrás das funções e re-adaptei. Mostrar-lhes-ei agora:

Os códigos são tão simples que acho que não precisa de explicação detalhada. Só explico que os '?' que tem são para contornar as diferenças entre os navegadores (principalmente IE).

Pegando a posição atual do scroll e retornando em um objeto com as propriedades X e Y:
var w=window, d=document;
//pega a posição atual do scroll
mov.getScroll= function(){
	return {
		x: (w.pageXOffset ? w.pageXOffset : de.scrollLeft ? de.scrollLeft : d.body.scrollLeft) || 0,		
		y: (w.pageYOffset ? w.pageYOffset : de.scrollTop ? de.scrollTop : d.body.scrollTop) || 0	
	};
};
//exemplo de uso
alert('Posição Y do scroll: ' + mov.getScroll().y);

Pegando a posição de determinado elemento na tela:
var w=window, d=document;
//pega a posição correta do elemento na tela
mov.objPos = function(obj) {
	var curl =0, curt = 0;
	if (obj.offsetParent) {
		do {
			curl += obj.offsetLeft;
			curt += obj.offsetTop;
		} while ((obj = obj.offsetParent));
		return {x: curl, y: curt};
	}else{
		return {x: obj.offsetLeft, y:obj.offsetTop};
	}
};
//exemplo de uso
alert('Posição real do elemento "viva" na tela: ' + mov.objPos(d.getElementById('viva') ) );

Fazendo a barra de rolagem se movimentar gradativamente
//variaveis
var micox_mov_height= 50; //de quanto em quanto o scroll se moverá
var micox_mov_fps    = 20; //velocidade que o scroll se moverá
//faz o slide
mov.slide = function(ini,end){
	if(!mov.sliding){	
		mov.sliding = true;
		//setando posição inicial
		var atual = mov.getScroll();
		w.scrollTo(atual.x , ini);
		mov.inter = setInterval(function(){
			var novoY, atual = mov.getScroll();
			if(atual.y < end){
				w.scrollTo(atual.x , atual.y + micox_mov_heigth);
			}else{
				mov.sliding = false;
				clearInterval(mov.inter);
			}
		},1000/micox_mov_fps);
	}
}

Em caso de dúvidas é só me perguntar.
Fonte: Meu blog ElMicox

O Que É Melhor: Select Multiple Ou Checkboxes?

09/01/2012, 08:15

Olá povo.

Bom, na verdade a pergunta foi só pro título do post ficar bonito. Eu não tenho dúvidas: Checkboxes são muito melhores.
(aliás, selects multiple nem deveriam existir).

Selects multiples são péssimos:
- Péssimos pro visitante - que tem que usar o shift pra escolher mais de um (que visitante sabe fazer isso?)
- Péssimos pro desenvolvedor - na hora do html e na hora de tratar os dados no server-side (php, asp, etc).
- Péssimos pra estilizar o visual - Alterar visual CSS de selects é quase impossível.

Quando um formulário tem select multiple, ou o desenvolvedor tem que escrever "(pressione shift ou control para escolher mais de uma)" OU o desenvolvedor tem que brigar com javascript e plugins pra deixar a coisa melhor pro visitante.

Uma solução? Usar Checkboxes:

É só estilizar eles pra ficarem parecidos com uma caixa de select multiple.

Exemplo (veja funcionando neste link):

<style>
/* coloque este estilo em seu arquivo css */
.check-select-multiple {border: 2px inset #DDD; background: white; height: 60px; overflow-y: scroll; width: 300px;}</style>
<div class="check-select-multiple">
<label><input name="cidades" type="checkbox" value="1" />Goiânia</label>
<label><input name="cidades" type="checkbox" value="2" />Palmas</label>
<label><input name="cidades" type="checkbox" value="3" />Fortaleza</label>
<label><input name="cidades" type="checkbox" value="4" />São Paulo</label>
<label><input name="cidades" type="checkbox" value="5" />Salvador</label>
</div>

Muito melhor, e mais fácil pro visitante.

Veja que não precisamos fazer malabarismos com javascripts nem plugins pra Jquery. É só usar a simplicidade do belo HTML+CSS.

Além da facilidade pro visitante, ainda é infinitamente mais fácil estilizar uma DIV e inputs do que estilizar um Select (principalmente nos IEs da vida).

Se você gostou da minha explanação, abrace esta campanha também. Diga adeus ao select-multiple.
Faça um link para esta campanha, compartilhe no twitter, facebook, google-plus, faça bandeiras, passeatas, greve de fome...

Fonte: meu blog ElMicox

Configuração No Cpanel Para Evitar Email Marcado Como Spam

09/01/2012, 07:58

Olá pessoal,

Hoje vou passar uma dica que poderia ter me evitado bastante dor de cabeça no passado na hora de programar sites que enviavam email. (A resolução deste problema se deu no desenvolvimento do meu site Tadarank.com.)

Quantas e quantas vezes vamos fazer um sistema PHP que envia emails e nossos emails enviados vão direto pro SPAM, seja no gmail, hotmail, yahoo, etc?

Para quem tem CPanel, basta ativar as configurações Domain Keys e SPF.

Eu, antes, sempre usava e sugeria as velhas dicas de sempre:
- sugerindo palavras "negras" a serem eliminadas,
- sugerindo enviar somente se o email for do domínio (ex, se seu site é do domínio www .arroz. com você só pode enviar emails terminados em @arroz.com ),
- baixar bibliotecas php para email,
- e outras técnicas que dão uma força boa na resolução do problema, mas não resolvem de vez.

Até que o brodi kyonac da lista de monetização me sugeriu ativar uns lanche chamado SPF e DomainKeys.

Numa rápida explicação (chupinhada do Cpanel):

DomainKeys é um sistema de autenticação de e-mail que permite que o correio recebido seja comparado com o servidor de que foi enviado para confirmar que o correio não foi modificado. Isto garante que as mensagens estão chegando realmente do remetente listado e permite que as mensagens abusivas sejam rastreadas com mais facilidade (segundo o Cpanel).

SPF irá especificar que máquinas estão autorizadas a enviar e-mails do(s) seu(s) domínio(s). Isto significa que apenas o correio enviado através deste servidor irá aparecer como correio válido do(s) seu(s) domínio(s) quando os registros SPF são verificados (segundo o Cpanel).

Bom, se quiser detalhar melhor pesquisa no google :P

Passeando pelas opções de email do Cpanel achei o menu chamado Autenticação de Email dentro da aba Correio. É só clicar, ativar e ser feliz. Sem complicação nenhuma.

Ativei estas duas paradas no Cpanel e deixei de ser taxado como Spammer. Simples assim.

Fonte: meu blog elmicox.

IPB Skin By Virteq