Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    Singolare errore di explorer.

    Sul mio sito:
    http://www.adamantio.net

    sto facendo uso di questo javascript:
    http://www.dynamicdrive.com/dynamici...tmltooltip.htm

    che funziona con tutti i browsers moderni (Mozilla/Firefox, Opera, Internet Explorer).

    Una volta implementato lo stesso identico script sul mio sito, con Mozilla/Firefox ed Opera funziona senza problemi, con Internet Explorer invece genera questo tipo di errore:

    'pageX' is null or not an object

    Qualcuno può darmi delucidazioni su come risolvere questo errore?

    Grazie infinite.
    Share what you know, learn what you dont

  2. #2
    Ho risolto così:

    codice:
    var offsetxpoint=-60 //Customize x offset of tooltip
    var offsetypoint=20 //Customize y offset of tooltip
    //le prossime due righe sono state commentate da tombo
    //var ie=document.all
    //var ns6=document.getElementById && !document.all
    var enabletip=false
    //commentato il contenuto dell'if ed esplicitato il valore
    //if (ie||ns6)
    if (document.all||document.getElementById && !document.all)
    var tipobj=document.all? document.all["dhtmltooltip"] : document.getElementById? document.getElementById("dhtmltooltip") : ""
    
    function ietruebody(){
    return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
    }
    
    function ddrivetip(thetext, thecolor, thewidth){
    	if (ns6||ie){
    	if (typeof thewidth!="undefined") tipobj.style.width=thewidth+"px"
    	if (typeof thecolor!="undefined" && thecolor!="") tipobj.style.backgroundColor=thecolor
    	tipobj.innerHTML=thetext
    	enabletip=true
    	return false
    	}
    }
    
    function positiontip(e){
    	if (enabletip){
    //commentate in favore delle due if successive (infatti anche se formalmente corrette le prossime due righe vengono ignorate da ie) 
    	//var curX=(ns6) ? e.pageX : event.x+ietruebody().scrollLeft;
    	//var curY=(ns6) ? e.pageY : event.y+ietruebody().scrollTop;
    		if (document.getElementById && !document.all) {
    		var curX = e.pageX;
    		var curY = e.pageY;
    		}
    		if (document.all) {
    		var curX = event.x+ietruebody().scrollLeft;
    		var curY = event.y+ietruebody().scrollTop;
    		}
    //Find out how close the mouse is to the corner of the window
    	var rightedge=ie&&!window.opera? ietruebody().clientWidth-event.clientX-offsetxpoint : window.innerWidth-e.clientX-offsetxpoint-20
    	var bottomedge=ie&&!window.opera? ietruebody().clientHeight-event.clientY-offsetypoint : window.innerHeight-e.clientY-offsetypoint-20
    
    	var leftedge=(offsetxpoint<0)? offsetxpoint*(-1) : -1000
    
    //if the horizontal distance isn't enough to accomodate the width of the context menu
    	if (rightedge<tipobj.offsetWidth)
    //move the horizontal position of the menu to the left by it's width
    	tipobj.style.left=ie? ietruebody().scrollLeft+event.clientX-tipobj.offsetWidth+"px" : window.pageXOffset+e.clientX-tipobj.offsetWidth+"px"
    	else if (curX<leftedge)
    	tipobj.style.left="5px"
    	else
    //position the horizontal position of the menu where the mouse is positioned
    	tipobj.style.left=curX+offsetxpoint+"px"
    
    //same concept with the vertical position
    	if (bottomedge<tipobj.offsetHeight)
    	tipobj.style.top=ie? ietruebody().scrollTop+event.clientY-tipobj.offsetHeight-offsetypoint+"px" : window.pageYOffset+e.clientY-tipobj.offsetHeight-offsetypoint+"px"
    	else
    	tipobj.style.top=curY+offsetypoint+"px"
    	tipobj.style.visibility="visible"
    	}
    }
    
    function hideddrivetip(){
    	if (ns6||ie){
    	enabletip=false
    	tipobj.style.visibility="hidden"
    	tipobj.style.left="-1000px"
    	tipobj.style.backgroundColor=''
    	tipobj.style.width=''
    	}
    }
    
    document.onmousemove=positiontip
    Grazie a tutti per l'interessamento.
    Ora funziona senza errori con tutti i browsers compreso IE.
    Share what you know, learn what you dont

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.