Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2005
    Messaggi
    305

    Calcolo delle coordinate X ed Y del cursore

    Sto cercando di realizzare una sorta di HELP associato a immagini/pulsanti.
    Quindi ho creato dei layer che vengono resi visibili quando passo con il mouse sull'immagine o sul pulsante. Vorrei che il layer si posizioni nel punto dove si trova il mouse nel momento in cui vado sopra l'immagine o il pulsante, ma il tutto funziona solo se la mia pagina ASP non presenta la barra verticale che compare automaticamente se le dimensioni della stessa superano quelle dello schermo. Probabilmente c'è un errore nel calcolo delle coordinate "asse_x" e "asse_y".
    Posto parte del codice:

    codice:
    ....
    
    <script language="JavaScript">
    
      function evidenzia_help(indice_help)
      {
       var asse_x = event.clientX;
       var asse_y = event.clientY;
       
       document.getElementById("HELP_"+indice_help).style.left = asse_x;
       document.getElementById("HELP_"+indice_help).style.top = asse_y;
       document.getElementById("HELP_"+indice_help).style.visibility = "visible"
      }
    
      function cancella_help(indice_help)
      {
       document.getElementById("HELP_"+indice_help).style.visibility = "hidden"
      }
    
    ....
    
    </script>
    
    ....
    
    <div id="HELP_1" style="position:absolute; visibility:hidden; width:200px; border: 1px solid black; padding: 2px; background-color: lightyellow; z-index: 1; filter: progid:DXImageTransform.Microsoft.Shadow(color=gray,direction=135);">
      <div align="center" class="messaggio_help">
        Help_1
      </div>
    </div>
    
    ....
    
    [img]punto_domanda.jpg[/img]
    
    ....
    Grazie mille.

    Vincenzo

  2. #2
    Gli script devono essere crossbrowser
    codice:
    function evidenzia_help(indice_help, evt)
      {
       evt=evt||window.event;
       var asse_x = evt.pageX||evt.clientX+document.body.scrollLeft;
       var asse_y = evt.pageY||evt.clientY+document.body.scrollTop;
       
       document.getElementById("HELP_"+indice_help).style.left = asse_x;
       document.getElementById("HELP_"+indice_help).style.top = asse_y;
       document.getElementById("HELP_"+indice_help).style.visibility = "visible"
      }
    e quando la richiami devi aggiungere un parametro e, ovvero l'oggetto evento nei browser del w3c.
    codice:
    evidenzia_help("1", e)

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.