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

    div sulle coordinate del mouse. Problema scroll

    Ciao a tutti.
    Ho realizzato uno script che al onmouseover di alcuni elementi intercetta le coordinate del mouse grazie alla seguente funzione

    Codice PHP:
    var tempX 0
    var tempY 0

    function getMouseXY(e)
    {
      if (
    IE) { // grab the x-y pos.s if browser is IE
        
    tempX event.clientX document.body.scrollLeft
        tempY 
    event.clientY document.body.scrollTop
      
    } else {  // grab the x-y pos.s if browser is NS
        
    tempX e.pageX
        tempY 
    e.pageY
      
    }  
      
    // catch possible negative values in NS4
      
    if (tempX 0){tempX 0}
      if (
    tempY 0){tempY 0}  

    e successivamente posiziona una div in quel determinato punto grazie a questa altra funzione

    Codice PHP:
    function mostradiv(testo)
    {
        
    getMouseXY()
        
        
    dettagli.style.top=tempY+12
        dettagli
    .style.left=tempX+5
        
        dettagli
    .innerHTML=testo;

    Tutto funziona perfettamente, tranne quando la mia pagina diventa più lunga e sono costretto a scrollare in basso con la scrollbar.
    Se ora l'elemento sul quale attivo la funzione si trova in fondo alla pagina quando vado ad intercettare le coordinate del mouse mi vengono restituite le coordinate errate (ossia non viene considerato che sono sceso nella pagina con la scrollbar) e la div si posiziona più in alto dove non è neanche visibile.

    Spero di essermi riuscito a spiegare.

    Potete aiutarmi???

  2. #2
    Non si può fare oppure non sono riuscito a spiegarmi???

  3. #3
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649

    Re: div sulle coordinate del mouse. Problema scroll

    Originariamente inviato da maxtac
    Tutto funziona perfettamente, tranne quando la mia pagina diventa più lunga e sono costretto a scrollare in basso con la scrollbar.
    con quale browser?

    se parli di IE puo' dipendere dal doctype, quindi prova cambiando document.body.scrollLeft in
    document.documentElement.scrollLeft

    con firefox e affini dovrebbe gia' funzionare cosi'

    ciao

  4. #4
    Utente di HTML.it L'avatar di yro
    Registrato dal
    Sep 2003
    Messaggi
    2,916
    anch'io mi ritrovo lo stesso problema e uso questa funzione:

    codice:
    function pippo(anImage,aLeggenda) {
     e = event;
     if (entered == false) {
      testo           = document.getElementById(aLeggenda).innerHTML;
     } // if (entered == false)
     aDiv            = document.getElementById(aLeggenda);
     aDiv.style.left = e.clientX + 10;
     aDiv.style.top  = e.clientY + 15;
    } // function pippo(anImage)
    
    function pippo2(anImage,aLeggenda) {
     aDiv            = document.getElementById(aLeggenda);
     aDiv.style.left = -1000;
     aDiv.style.top  = -1000;
    e non riesco a trovare soluzione.

    qualcuno mi può aiutare?
    grazie!
    E se avessi il dono della profezia e conoscessi tutti i misteri e tutta la scienza, e possedessi la pienezza della fede così da trasportare le montagne, ma non avessi la carità, non sono nulla.

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.