As vezes é difícil achar uma ferramenta que se encaixe totalmente ao seu sistema e realmente resolva o problema, por isso é necessário algumas horas de pesquisa. No meu caso eu precisava de uma feramenta de zoom de imagens que fosse simples de aplicar e permitisse aumentar e diminuir a ampliação da imagem. Depois de muitas pesquisas encontrei o TJPZOOM, fácil de aplicar no sistema e todo mundo gostou!
Como trabalho em sistema Linux os browsers que testei foi o Firefox, Chrome e o Opera. Estava tudo beleza, até que finalmente testamos no micro do cliente que usava IE!
Em qualquer browser a lente(caixa cinza) estava na mesma posição do mouse (seta branca).
No browser do cliente (Internet Explorer 7), por algum motivo a lente(caixa cinza) estava afastada do ponteiro do mouse(seta branca).
Não sei exatamente porque funcionou, mas fiquei mexendo… mudando as variáveis e enfim… funcionou! Então se estiver com o mesmo problema que o meu, tente modificar esse trecho do código:
obs: Só fiz essa alteração para os IE acima do 7, pois não sei se o 6 precisa dessa alteração. Se ele precisar você pode modificar o código para alteração funcionar para qualquer IE.
function TJPhandlemouse(evt,obj) {
var evt = evt?evt:window.event?window.event:null;
if(!evt) { return false; }
if(evt.pageX) {
nowx=evt.pageX-TJPfindposx(obj)-TJPadjustx;
nowy=evt.pageY-TJPfindposy(obj)-TJPadjusty;
} else {
if(document.documentElement && document.documentElement.scrollTop) {
nowx=evt.clientX+document.documentElement.scrollLeft-TJPfindposx(obj)-TJPadjustx;
nowy=evt.clientY+document.documentElement.scrollTop-TJPfindposy(obj)-TJPadjusty;
} else {
//Modified by Ulisses de Almeida to work in IE
if(getInternetExplorerVersion() >= 7.0){
nowx=evt.x+document.body.scrollLeft-TJPadjustx;
nowy=evt.y+document.body.scrollTop-TJPadjusty;
}
else{
nowx=evt.x+document.body.scrollLeft-TJPfindposx(obj)-TJPadjustx;
nowy=evt.y+document.body.scrollTop-TJPfindposy(obj)-TJPadjusty;
}
}
}
if(evt.type == 'mousemove') {
TJPsetwin(obj,nowx,nowy);
} else if(evt.type == 'mousedown') {
TJPmouse=1; //left: 1, middle: 2, right: 3
TJPmousey=nowy;
TJPmousex=nowx;
} else if(evt.type =='mouseup') {
TJPmouse=0;
} else if(evt.type =='mouseout') {
TJPmouse=0;
if(navigator.appVersion.indexOf('Mac') == -1 || navigator.appVersion.indexOf('MSIE') == -1) { //hi Mac IE
x=obj.parentNode;
x.removeChild(x.getElementsByTagName('div')[0]);
x.removeChild(x.getElementsByTagName('div')[0]);
}
}
}
// Function from MSDN Giorgio Sardo Blog
function getInternetExplorerVersion() {
var rv = -1; // Return value assumes failure.
if (navigator.appName == 'Microsoft Internet Explorer') {
var ua = navigator.userAgent;
var re = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})");
if (re.exec(ua) != null)
rv = parseFloat(RegExp.$1);
}
return rv;
}Se você não quiser alterar o Java script na mão, você pode baixar a minha versão do código fonte com a alteração [download]. Espero ter ajudado! Qualquer coisa que você desejar me dizer, por favor deixe um comentário!


Nenhum comentário:
Postar um comentário