Visualizzazione risultati 1 fino 24 di 24

Discussione: Script per catturare le coordinate del mouse...problema [mod]

  1. #1
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito Script per catturare le coordinate del mouse...problema [mod]

    È possibile realizzare due funzioni due che mi restituiscano, qualunque sia il browser, le coordinate X e Y del mouse sulla pagina in cui mi trovo? In altre parole, come dovrei completare questo codice:
    Codice:
    function mouseX ()
    {
       ...
       return ...
    }
    function mouseY ()
    {
       ...
       return ...
    }
    per avere queste benedette coordinate?

    E dire che di script che fanno qualcosa del genere ne ho pure trovati in rete, ne funzionasse uno... statemi bene...
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

  2. #2
    Guest

    Predefinito

    Prova con

    Codice HTML:
    function mouseX ()
    {
       var x=event.clientX
       return ...
    }
    function mouseY ()
    {
       var y=event.clientY
       return ...
    }
    Ciaooo!

  3. #3
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    Se la scrivo così
    Codice:
    function mouseX ()
    {
       return event.clientX
    }
    function mouseY ()
    {
       return event.clientY
    }
    Funziona con Internet Explorer, ma non con Firefox (la console Javascript mi dice "event is not defined").

    Altre idee? Statemi bene...
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

  4. #4
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito Provo a riformulare la domanda...

    Tornando agli script che trovo in rete, questo sembra il più gettonato (o meglio, è un adattamento che ho fatto io che funziona con IE e non con Firefox):
    Codice:
    function mouseX (e)
    {
       if (!e) e = window.event
       if (e.pageX)
          return e.pageX
       else if (e.clientX)
          return e.clientX + document.body.scrollLeft
       else
          return null
    }
    
    function mouseY (e)
    {
       if (!e) e = window.event
       if (e.pageY)
          return e.pageY
       else if (e.clientY)
          return e.clientY + document.body.scrollTop
       else
          return null
    }
    Qualcuno sa qual è quel parametro "e" (di m* che mi sta facendo letteralmente sclerare...) che devo passare per far funzionare lo script con Firefox/Mozilla/Netscape & c.?

    Statemi bene...
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

  5. #5
    Ospite Guest

    Predefinito

    Prova return e.screenX
    return e.screenY
    dovrebbero funzionare (almeno secondo la guida al javascript di dw)

  6. #6
    Guest

    Thumbs up

    mi sa ke nn funziona lo stesso, qst problema sta facendo impazzire anke me, a qnt pare xkè netscape riesca a 'catturare' il mousemove si deve scrivere qlkosa tipo
    window.captureEvent(Event.MOUSEMOVE);
    ma a me nn va ugualmente, appena trovo 2 min. mi vado a leggere la documentazione ufficlilae di netscape (ho provato a leggere quella di javascript ma nn ho risolto nulla)
    edit:
    ecco finalmente:
    Codice HTML:
    <html OnMouseMove="document.myform.coords.value = event.clientX + '/' + event.clientY">
    <form name="myform">
    Coordinate: <input type="text" name="coords">
    </form>
    </html>
    Ultima modifica di SoulHome : 25-10-2005 alle ore 18.47.07

  7. #7
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    Citazione Originalmente inviato da SoulHome
    ... window.captureEvent(Event.MOUSEMOVE); ...
    Avevo trovato qualche script che tra le istruzioni aveva qualcosa pro-Netscape così:
    Codice:
    document.captureEvents(Event.MOUSEMOVE)
    ma con questo si può realizzare solo gli effetti "drag and drop" su elementi. Quello che intendevo fare era crearmi una specie di libreria cross-browser (che include anche le funzioni per rilevare e settare l'HTML di qualche altro thread), in modo da poter chiamare queste funzioni in modo universale per conoscere le coordinate del mouse.

    Statemi bene...
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

  8. #8
    Guest

    Predefinito

    ho editato

  9. #9
    Guest

    Predefinito

    Inserendo solo quel pezzetto vengono fuori le coordinate o bisogna aggiungere qualcos'altro?

  10. #10
    Guest

    Predefinito

    basta quel codice

  11. #11
    Guest

    Predefinito

    Viene fuori una stringa.... che ci dovrei fare???

  12. #12
    Guest

    Predefinito

    quello ke ti pare...la stringa (ke kambia qnd sposti il mouse) corrisponde alle coordinate del mouse

  13. #13
    Guest

    Predefinito

    No, la stringa a me rimane vuota!!! Sposto il mouse ma lei rimane inesorabilmente vuota!

  14. #14
    Guest

    Predefinito

    ke browser usi?
    controlla di aver copiato e incollato il codice bene

  15. #15
    Guest

    Predefinito

    Io uso IE ma devo passare a FF.... comunque il codice l'ho messo bene ma appare solo la stringa con la scritta di fianco mi pare "coordinate"..... la stinga però è vuota....

  16. #16
    Guest

    Predefinito

    a me funziona bene sia con ie ke cn firefox...
    vedi http://soulhome.altervista.org/mouse.htm

  17. #17
    poske non è connesso Altervistiano Junior
    Data registrazione
    06-02-2005
    Messaggi
    620

    Predefinito

    Citazione Originalmente inviato da SoulHome
    a me funziona bene sia con ie ke cn firefox...
    vedi http://soulhome.altervista.org/mouse.htm
    A me funziona anche con Opera.

    Ciao! :D

  18. #18
    Guest

    Predefinito

    Vero.... dal link funzia anche a me..... boh... avrò sbagliato io nell'inserimento del codice.... boh, grazie allora!

  19. #19
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito No Es Posible!!!

    Provate a guardare questa pagina che ho fatto io: http://dementialsite.altervista.org/...rds/coords.htm, dovete fare click su un punto della pagina per visualizzarne le coordinate.

    Il codice è praticamente uguale a quello di SoulHome (cambia ovviamente l'evento, da onMouseMove a onClick), ma con Firefox continua a non funzionare (l'errore è lo stesso: "event is not defined").

    Che debbo fare...????? Statemi bene...

    EDIT: ehi, la versione in rete non dà errori ma non visualizza lo stesso le coordinate... perché...?
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

  20. #20
    Guest

    Predefinito

    il problema kredo ke dipenda dal fatto ke l'oggetto event nn può essere usato in una funzione richiamata dall'evento, a meno ke qst nn venga passato come argomento alla funzione
    Codice HTML:
    <HTML onClick="alert('Hai cliccato su (' + mouseX(event) + '; ' + mouseY(event) + ')')">
    <HEAD>
    <SCRIPT LANGUAGE="JavaScript">
    function mouseX (e)
    {
    	return e.clientX
    }
    
    function mouseY (e)
    {
    	return e.clientY
    
    }
    </SCRIPT>
    <BODY>
    </BODY>
    </HTML>
    il codice nn l'ho provato, ma se nn dovesse fungere prova a sostituire OnMouseDown ad OnClick
    Ultima modifica di SoulHome : 26-10-2005 alle ore 13.27.14

  21. #21
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    Ehi, sembra che funzioni... quando proverò a fare le funzioni che usano la libreria che dicevo vi saprò dire se salteranno fuori altri problemi...

    EDIT: troppo bello, i problemi continuano, leggete qua: http://forum.altervista.org/showthre...973#post360973

    Statemi bene...
    Ultima modifica di dementialsite : 27-10-2005 alle ore 12.19.23
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

  22. #22
    Guest

    Predefinito

    Ho trovato questo codice che funziona sia con IE sia con FF:

    Codice HTML:
    <script>
    function test()
    {
    if (document.layers) getMouseLoc; //NS
    else if (document.all) getMouseLoc(); //IE
    alert(mouseLocation.x+","+mouseLocation.y);
    }
     
    function Point(x,y) { this.x = x; this.y = y; }
    mouseLocation = new Point(-500,-500);
    function getMouseLoc(e)
    {
    if(!document.all) //NS
    {
    mouseLocation.x = e.pageX;
    mouseLocation.y = e.pageY;
    }
    else //IE
    {
    mouseLocation.x = event.x + document.body.scrollLeft;
    mouseLocation.y = event.y + document.body.scrollTop;
    }
    return true;
    }
    if(document.layers){ document.captureEvents(Event.MOUSEMOVE); document.onMouseMove = getMouseLoc; }
    </script>
     
    <a href="#" onmouseover="test()">ooooooooooooooooooooooooo</a>

  23. #23
    Guest

    Predefinito

    Citazione Originalmente inviato da allo
    Ho trovato questo codice che funziona sia con IE sia con FF:

    Codice HTML:
    <script>
    function test()
    {
    if (document.layers) getMouseLoc; //NS
    else if (document.all) getMouseLoc(); //IE
    alert(mouseLocation.x+","+mouseLocation.y);
    }
     
    function Point(x,y) { this.x = x; this.y = y; }
    mouseLocation = new Point(-500,-500);
    function getMouseLoc(e)
    {
    if(!document.all) //NS
    {
    mouseLocation.x = e.pageX;
    mouseLocation.y = e.pageY;
    }
    else //IE
    {
    mouseLocation.x = event.x + document.body.scrollLeft;
    mouseLocation.y = event.y + document.body.scrollTop;
    }
    return true;
    }
    if(document.layers){ document.captureEvents(Event.MOUSEMOVE); document.onMouseMove = getMouseLoc; }
    </script>
     
    <a href="#" onmouseover="test()">ooooooooooooooooooooooooo</a>

    caspita che tempismo...ehehehehhe

  24. #24
    Guest

    Predefinito

    Visto che roba, eh!

    Quasi un mese!

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •