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

    finestrella tooltip spostata

    è da un paio di giorni che vorrei creare una finestrella tooltip che appaia quando il cursore capita sopra ad un link.
    questo è quello che ho scritto:
    lavoro con un div inizialmente nascosto che poi vado a modificare opportunamente in base alla posizione del link che riachiama l'evento

    codice:
    <div id="tooltip" class="tooltip"></div>
    le funzioni principali sono

    codice:
    function showtip(obj)
    {
      tool=document.getElementById("tooltip");
      tool.innerHTML="ciao come va?!?";
      tool.style.height="100";
      tool.style.top=parseInt(getPosY(obj));
      tool.style.left=parseInt(getPosX(obj));
      tool.style.visibility="visible";
    }
    
    function hidetip(obj)
    {
      document.getElementById("tooltip").style.visibility="hidden";
    }
    
    function getPosX(obj)
    {
    	var left=0;
    	while(obj.offsetParent)
    	{
    		left+=obj.offsetLeft;
    		obj=obj.offsetParent;
    	}
    	return left;
    }
    
    function getPosY(obj)
    {
    	var top=0;
    	while(obj.offsetParent)
    	{
    		top+=obj.offsetTop;
    		obj=obj.offsetParent;
    	}
    	return top;
    }
    il tutto viene richiamato dall'avento onmouseover in questo modo

    codice:
    prova
    la mia domanda è:
    come mai nn mi funziona? o meglio, su mozilla il div appare ma nella posizione originale del div nascosto e nn in quella calcolata, mentre su ie funziona ma 'lampeggia', ovvero quando sposto il mouse sopra il link la posizione del div viene ricalcolata e crea questo effetto 'lampeggio' (almeno credo sia questa la causa).

    ringrazio chiunque possa aiutarmi.

  2. #2
    il primo problema l'ho risolto: bastava aggingere 'px' al valore che andavo a modificare nello style del div nascosto.
    rimane però ora il problema dello sfarfallio: qualche idea?
    grazie.

  3. #3
    ok, risolto anche il secondo.
    praticamente nn bisogna visualizzare il div 'tooltip' sopra all'oggetto che invoca gli eventi 'onmouseover' e 'onmouseout'.
    grazie cmq.

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.