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