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

    onmouseover, problema firefox

    Ciao a tutti!

    Sto cercando di creare un semplice script che al passaggio del mouse su una parola mi sposta un div dove si trova il mouse e lo riempie con testo che gli passo da variabile.

    La funzione è questa:

    codice:
    function descrizioneRegole(descrizione){
    	document.getElementById('descrizioneRegola').style.left=window.event.clientX+document.documentElement.scrollLeft;
    	document.getElementById('descrizioneRegola').style.top=window.event.clientY+document.documentElement.scrollTop;
    	document.getElementById('descrizioneRegola').style.display='inline';
    	document.getElementById('descrizioneRegola').innerHTML=descrizione;
    }
    e l'html che lo richiama questo:

    codice:
    <span class="descrizioneRegolaTitle" onmouseover="javascript: descrizioneRegole('Il Nickname sarà anche il nome del tuo PG!');" onmouseout="document.getElementById('descrizioneRegola').style.display='none';">Nickname</span>

    Il problema è che su IE mi va bene, ma quando vado su Firefox non mi visualizza il div desiderato (che è "dichiarato" in cima alla pagina con uno z-index alto), non mi viene visualizzato nessun errore ma con un paio di alert ho notato che firefox non sembra riconoscere gli eventi dello span (onmouseover), assurdo perchè in altre parti della stessa pagina funzionano alla perfezione! Quindi non capisco dove io possa sbagliare :S

    spero che qualcuno possa aiutarmi @_@
    "Con la forza della verità, in vita, ho conquistato l'universo"

  2. #2
    ho trovato che il problema è che FF non gestisce "event.clientX", ma il problema permane perchè non so come risolvere, ho trovato qualcosa in giro per il web ma non mi funziona ç_ç
    "Con la forza della verità, in vita, ho conquistato l'universo"

  3. #3
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    non e' che non supporta il clientX
    e' che l' event glielo devi passare trai parametri se il richiamo avviene in linea
    perche' non si propaga a livello window come in IE

    leggiti questo
    http://javascript.html.it/articoli/l...r-ed-esempi/2/
    e vedi gli esempi

    se per firefox (ed in generale i browser diversi da IE) usi pageX/pageY invece di clientX/clientY non ti serve aggiungere lo scrollLeft/scrollTop

  4. #4
    il problema era che l'event va passato come PRIMO paramentro, io lo mettevo come secondo e non mi andava, quell'articolo è stato illuminante grazie mille
    "Con la forza della verità, in vita, ho conquistato l'universo"

  5. #5

    problema intermittenza

    Riesumo il mio vecchio post visto che il codice è lo stesso riportato qui..
    Ora funziona abbastanza bene, l'unico problema è che con FF il div mi si vede ad intermittenza, come se si alternassero in continuazione i due eventi onmouseover e onmouseout... qualcuno sa perchè? :S (con IE non lo fa..)
    "Con la forza della verità, in vita, ho conquistato l'universo"

  6. #6
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    per il propagarsi degli eventi, spostarsi su di un elemento contenuto equivale a far scattare un eventuale onmouseout sul contenitore

    leggi con attenzione questa discussione
    http://forum.html.it/forum/showthrea...readid=1321788
    perche' spiega come risolvere

  7. #7
    purtroppo non ho mai usato i nodi e non ci ho capito un'h... non c'è un'altro modo più semplice per risolvere? :S
    "Con la forza della verità, in vita, ho conquistato l'universo"

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.