quinta-feira, 7 de fevereiro de 2013

Posição do Cursor em um Elemento

Problema

Em alguns casos, desejamos descobrir a posição do cursor sobre um elemento, mas não há uma maneira direta para tal, ou se há eu não encontrei na internet.

Exemplo

Podemos imaginar por exemplo como alterar um canvas com base na posição do clique do mouse sobre o mesmo, ou mesmo quando o mouse passa por cima.

Introdução ao JavaScript

JavaScript é uma linguagem de programação baseada em objetos e utilizada em páginas da Web para controlar os elementos e tornar a navegação uma experiência dinâmica e atrativa.

JavaScript - Eventos

Em JavaScript, os eventos são objetos que armazenam atributos referentes a um determinado acontecimento (evento), os eventos podem adquirir informações do Teclado e do Mouse.

JavaScript - Eventos - Posição do Cursor do Mouse

Para saber a posição do cursor do mouse em um determinado evento, usa-se as propriedades clientX e clientY.
Estas propriedades são atributos do objeto evento. Elas retornam números inteiros, as coordenadas X e Y em pixels em relação ao conto esquerdo-superior da tela do navegador.

JavaScript - Janela - Rolagem da página 

É possível determinar também quantos pixels a página foi rolada. Isso é importante para determinar a posição absoluta do cursor, e não a posição relativa ao canto superior-esquerdo, para poder então processar com a posição absoluta do elemento e descobrir em qual coordenada do elemento o cursor está.
Para saber quantos pixels a página foi rolada, usa-se o pageXOffset e o pageYOffset.

JavaScript - Elemento - Posição de desvio

Para saber a posição de um elemento em relação ao conto superior-esquerdo do elemento em que ele está  inserido, usa-se o offsetLeft e o offsetTop.
O elemento em questão não pode setar dentro de nenhum elemento de posição significativamente alterada através de CSS, caso contrário, o resultado estará distorcido, sendo relativo ao último elemento de posição alterada.

A função para descobrir a posição X é
function nX (evento, objeto){
return evento.clientX-(objeto.offsetLeft-pageXOffset); 
}

A função para descobrir a posição Y é
function nY (evento, objeto){
return evento.clientY-(objeto.offsetTop-pageYOffset); 
}

Como Desintalar o Joomla

O que é o Joomla?

O Joomla é um CMS (Sistema Gerenciador de Conteúdo) que utiliza a linguagem PHP juntamente com um banco de dados para criar um site em pouco tempo.

Qual o problema para desinstalar o Joomla?

Como a instalação do Joomla tem desinstalar procedimento principal a criação de tabelas em um banco de dados (e inserção de valores iniciais), e a opção de desinstalar não é fornecida por meios de segurança e por ser convencional para um website, a única maneira de desinstalar o Joomla é apagando todas as tabelas e excluindo todos os arquivos da pasta do site.
É uma vantagem a instalação do Joomla definir um prefixo para as tabelas, como por exemplo "tdp0a_", para a criação das tabelas do site, mas acontece que não existe um código SQL que exclua as tabelas a partir de prefixo no nome delas, dificultando um pouco as exclusão simultânea das tabelas do Joomla.

Qual a solução

A maneira mais fácil de excluir todas as tabelas do Joomla é usando um programa chamado phpMyAdmin. Este programa é uma espécie de site feito em PHP que lista os bancos de dados de um servidor específico. Quando você escolhe um banco de dados no phpMyAdmin, o programa lista todas as tabelas, que podem ser marcadas todas de uma vez ou uma por uma.
Se você tiver outras tabelas além das do Joomla, então você deve selecionar somente as tabelas do Joomla (a não ser que queira excluir as outras tabelas também), neste caso, se você tiver mais tabelas do Joomla do que tabelas que você não quer excluir, clique em "marcar todos", caso contrário escolha uma por uma as tabelas que você quer excluir e quando todas estiverem selecionadas (cuidado para não selecionar tabelas importantes), clique em uma barra de <select> que geralmente tem a opção "Com marcados:" e escolha a opção "Eliminar".
Depois de clicado, irá aparecer uma tela de confirmação, clique "Sim" e as tabelas serão excluídas, agora é só excluir a pasta do Joomla.