Visualizzazione dei risultati da 1 a 5 su 5

Discussione: cambiare cursor

  1. #1
    Utente di HTML.it L'avatar di dannie
    Registrato dal
    Aug 2005
    Messaggi
    336

    cambiare cursor

    Ero indecisa se postare qui o in scripting ma penso sia un discorso di proprietà di stile e ereditarietà.... al massimo abbiate pazienza e spostatemi!
    Allora, ho uno script tipo questo:
    codice:
    <a onclick="document.body.style.cursor='Wait'">Cambia cursore!</a>
    Apparentemente funziona (almeno su FF, ora provo a fare un giro anche con IE!), nel senso che quando si clicca compare la clessidra al posto della normale freccia.... ma spostandomi sulla pagina ho notato che la clessidra viene sostituita dalla classica manina quando si passa su dei link... c'è un modo per evitarlo? Voglio dire, senza cambiare lo stile dei link... in pratica vorrei mantenere la situazione standard (con la manina sui link ecc) "normalmente", ma poter definire il cursore per tutta la pagina al verificarsi di un preciso evento... Sono riuscita a spiegarmi?

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Il messaggio puo` stare anche qui: si tratta di una modifica al CSS.

    Non so risponderti direttamente, ma rilevo degli errori nel tuo codice:
    manca l'attributo href (che nel tag <a> e` obbligatorio in alternativa al name).
    Per cui il codice diventa:
    <a href="#" onclick="document.body.style.cursor='wait'; return false;">



    Alcune prove che puoi fare, per avvicinarti alla soluzione:
    1. dare il cursor:wait; nel CSS del body. So che non e` quello che vuoi, ma verifichi se dopo essere passata su un link torna la clessidra.

    2. preparare un <div> grande (puo` prendere tutto il body) e dare il comando:
    document.getElementById('ID_DIV_GRANDE').style.cur sor='wait';

    3. se il punto 1 ha dato esito positivo, preparare due CSS per il body, uguali con solo il cursor diverso, e applicare lo switch di classe:
    document.body.className='NUOVACLASSE';

    4. lo stesso per il div del punto 2.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    Utente di HTML.it L'avatar di dannie
    Registrato dal
    Aug 2005
    Messaggi
    336
    Ciao Mich_! Grazie per la correzione e per la risposta! Ho provato quanto da te suggerito nei punti 1 e 2 ma purtroppo non è cambiato nulla: non appena passo il cursore sopra dei link compare la manina, se passo sopra delle select compare la freccina... insomma, sembra che il valore assegnao a cursor nei box più esterni non influisca sugli elementi che hanno un default diverso... :master:
    Qualche altra idea per cercare di ottenere l'effetto voluto?

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    A questo punto non saprei che altro dirti.

    Cioe` un'idea l'avrei; te la espongo, am va provata accuratamente (e sui vari browser)

    Occorre definire il cursore per tutti gli elementi della pagina.
    Si puo` fare con un opportuno loop, che prende tutti gli elementi figli (e nipoti) e applica il cursore.

    Occorre determinare tutti gli elementi.
    Se sono link, li trovi nel vettore document.links;
    se sono elementi di un form, li trovi nel document.getElementById('ID_FORM').elements;
    per altri elementi, se ti serve si puo` vedere.
    codice:
    function tuttocless(curs) {
      document.body.style.cursor = curs;
      var ele = document.links;
      for(var i=0; i<ele.length; i++) {
        ele[i].style.cursor = curs;
      }
      ele = document.getElementById('ID_FORM').elements;
      for(var i=0; i<ele.length; i++) {
        ele[i].style.cursor = curs;
      }
      // qui eventuali altri oggetti (puo` anche essere un loop)
    }
    La chiamata sara` del tipo:
    tuttocless('wait'); // per trasformare tutto in clessidra
    tuttocless('auto'); // per ripristinare il default

    Se la tua pagina ha degli oggetti non meglio identificati, allora la cosa si fa piu` complessa.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  5. #5
    Utente di HTML.it L'avatar di dannie
    Registrato dal
    Aug 2005
    Messaggi
    336
    Idea molto interessante!! Ho verificato: solo link e select....
    Ci penso e ci provo, il mio dubbio è che i due eventi (set a clessidra e reset con default) possono essere anche molto vicini in termini di tempo e quindi non vorrei che la funzione "accessoria" finisse per rallentare.... farò qualche prova!
    Grazie mille per l'idea!

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.