Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 19
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2010
    Messaggi
    113

    Primi passi jscript - mouseover fadein/out

    Salve a tutti,
    mi scuso per la banalità dell'argomento del post, non lo avrei voluto aprire, ma è una settimana e anche più che provo a leggere post simili per tutto il forum, a spulciare codici da altri siti, ma mi sfugge proprio qualcosa, e stavolta ho bisogno di un aiutino

    Dunque, stavo realizzando la grafica di un mio sito, e tramite il codice qua sotto, contenuto nel file css, ero riuscita a creare l'effetto grafico della transizione al passaggio del mouse sopra un link, insomma il classico effetto mouse over :

    a:link{ color: #000000;
    text-decoration: none;
    -moz-border-radius: 0px;
    -moz-box-shadow: 0 1px 3px rgba (0,0,0,.15);
    -webkit-border-radius: 0px;
    -webkit-box-shadow: 0 1px 3px rgba (0,0,0,.15);
    -webkit-transition: all 0.40s ease-out; }
    Mi sono però subito accorta che tale metodo funziona solo con browser di un certo tipo, e che per avere un risultato più certo e professionale bisogna affidarsi al java.

    Ho sentito parlare molto di jquery, e lo avrei anche scaricato, ma nonostante abbia letto le istruzioni e fatto molte prove, non riesco ad ottenere nessun risultato, e sono un bel po' confusa...

    mi potete dare voi "il la"?

  2. #2
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    636
    posta del codice che mostra come faresti ad ottenere ciò che cerchi, e vediamo di correggerlo

    Considera comunque che se il mouseover lo devi gestire sull'elemento stesso che vuoi nascondere/mostrare la cosa non funziona, o meglio una volta che scompare è impossibile che ci ripassi sopra con il mouse

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2010
    Messaggi
    113
    Forse mi sono spiegata male: voglio che tutti i link del sito abbiano un effetto transizione (un passaggio di colore graduale) quando l'utente ci passa sopra con il mouse, e anche nell'effetto di ritorno al punto iniziale, quando l'utente de-seleziona il link.

    Ad esempio, per i link contenuti nell'elemento nav:

    <div id="nav">
    <ul>[*]home[*]chi siamo[*]gallery[*]contatti[/list]
    </div>

    Cosa che ero riuscita a fare utilizzando i codici webkit e moz, codici che però non sono riconosciuti da molti altri browser...

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    636
    allora non serve fadeIn /fadeOut ma .animate, e non basta jquery ma serve pure jquery ui

    Codice PHP:

    [url='#']link1[/url]
    [
    url='#']link2[/url
    [
    url='#']link3[/url]
    [
    url='#']link4[/url]

             <
    script type ='text/javascript'>
                   $(
    ".danascondere").mouseover(
                            function(){
                                $(
    this).animate({ color'red' }, 1000);
                            }
                   )

                   $(
    ".danascondere").mouseout(
                            function(){
                                $(
    this).animate({ color'blue' }, 1000);
                            }
                   )
             
    </script> 

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2010
    Messaggi
    113
    mmmh adesso provo... sicuro che una libreria enorme come jquery non basti?

    perché parli di elementi "da nascondere"?
    sicuro di aver capito bene cosa voglio fare?

    io parlo di una cosa simile al menù di http://crystalcastles.com/, senza sottolineatura animata, solo il colore, ma con l'aggiunta del fade out al togliere del mouse.

    di quale libreria e di quale codice ho bisogno?

  6. #6
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    636
    se mi parli di fadeOut parli di nascondere visto che fade vuol dire dissolvenza e fadeOut provvede proprio a nascondere qualcosa, a quanto ho capito vuoi creare un animazione che onmouseover sui link li faccia cambiare di colore gradualmente, mentre quando il mouse esce dal link quest'ultimo torna al suo colore originale... lo script che ti ho postato fa proprio questo.

    Per giocare con i colori occorre utilizzare jquery ui.

    Ti servono oltre a jquery jquery-ui di cui puoi costruire un'installazione personalizzata al seguente LINK, io sinceramente ho utilizzato sempre per intero jquery-ui, ma se ritieni superflua qualcosa leva ciò che ritieni inutile

  7. #7
    Utente di HTML.it
    Registrato dal
    Jun 2010
    Messaggi
    113
    Ok, allora c'eravamo capiti!^^

    Ho seguito alla lettera le tue indicazioni, e richiamando entrambe le librerie trovate scaricando jquery ui, ovvero,
    <script src="js/jquery-1.4.4.min.js" type="text/javascript"></script>
    <script src="js/jquery-ui-1.8.7.custom.min.js" type="text/javascript"></script>
    funziona esattamente come con webkit, ma anche su IE, e Firefox (e Opera!)!!!
    grazie mille davvero, sei stato molto preciso in tutto

    Avrei però altre domande se non ti scoccia, e riguardano come fare a non sporcare troppo il codice.
    Così facendo infatti, dovrei usare la classe "class="fades" (l'ho rinominata così al posto di "danascondere"^^) in ogni singolo link di tutte le pagine del sito, quando prima, col webkit all'interno del file css, questo avveniva una volta sola, settando i parametri all'interno dell'elemento a:link (come vedi nel primo post di questa pagina).

    c'è il modo di richiamare tutto o qualcosa dal css o qualcosa del genere?

  8. #8
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    636
    In jquery per fare riferimento a ogni oggetto del dom si utilizzano i selettori, in maniera quasi analoga sia per logica che per sintassi al css.

    Quindi se con $(".danascondere") fai riferimento solo agli oggetti di class 'danascondere', con $("#div1") fai riferimento solo all'oggetto di id 'div1', mentre se vuoi prendere un oggetto in base al tagname, come in css specifichi il tagname come selettore quindi $("a") oppure $("a:link").

    L'utilizzo di selettori per class e id o qualunque altro attributo permettono di fare un'ulteriore scrematura, tuttavia se non è necessario puoi fare riferimento direttamente al tagname.

    Visto che sei nuova di jquery ti do un ulteriore consiglio, per ridurre l'invasività degli script in generale, sarebbe bene scriverli in un documento separato, l'utilizzo di attributi quali class e id sono invece un qualcosa che andrebbe sempre utilizzato, anche nell'ottica di modifiche future alla pagina, difatti costa meno aggiungere sin dall'inizio tali attributi piuttosto che modificare il codice in seguito, specie se la pagina viene generata in maniera automatica.

    Sotto ti spiego come separare il codice jquery dalla parte html

    parte html

    Codice PHP:
    <html>
        <
    head>
            <
    script src="js/jquery-1.4.4.min.js" type="text/javascript"></script>
            <script src="js/jquery-ui-1.8.7.custom.min.js" type="text/javascript"></script>
            <script type='text/javascript' src='urlOfMyScript.js'></script>
        </head>
        <body>
            <div id="nav">
                <ul>[*][url="default/default.htm"]home[/url][*][url="chisiamo/default.htm"]chi siamo[/url][*][url="gallery/default.htm"]gallery[/url][*][url="contatti/default.htm"]contatti[/url][/list]
            </div>
        </body>
    </html> 

    parte jquery (documento 'urlOfMyScript.js' )
    Codice PHP:
    $(document).ready(
        function(){
           $(
    "a:link").mouseover(
               function(){
                   $(
    this).animate({ color'red' }, 1000);
               }
           )

           $(
    "a:link").mouseout(
                function(){
                   $(
    this).animate({ color'blue' }, 1000);
                }
           )
        }


  9. #9
    Utente di HTML.it
    Registrato dal
    Jun 2010
    Messaggi
    113
    Eccomi di nuovo qua, bloccata dalla neve ma finalmente a casa al caldo

    Allora, ho fatto come mi hai detto, creato un myscript.js dove mettere i codici delle animazioni e che richiamo nell'head di ogni pagina...

    Non ho ben capito una cosa a proposito delle class: nel post dici di lasciarli nel "<a href...>" dei vari links, ma poi nel codice sotto li togli...

    Se li tolgo anch'io non funziona niente, se li lascio invece sì, e non mi è chiara questa cosa, non capisco se ti sei sbagliato tu o se c'è qualcosa che mi sfugge
    cmq sia intanto il codice è ripulito dallo <script> (che metto nel myscript.js appunto), quindi per quanto mi riguarda ci siamo, va benissimo così, non mi da poi così noia avere delle "class" a giro per il codice.

    avrei una domanda riguardo un altro uso di questo jquery ui, ma per adesso provo un po' a vedere se riesco da sola leggendo la guida, poi nel caso vengo qua a chiedere aiuto!

    Grazie mille davvero, intanto!
    buona serata!

  10. #10
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    636
    per quanto riguarda gli attributi class e id ti ho detto che è bene tenerli non per questo script nello specifico, ma perchè si potranno rivelare utili qualora tu volessi ad esempio applicare uno script o uno stile a un insieme di oggetti accomunati dall'attributo class oppure a un singolo oggetto selezionabile da id.

    Detto questo visto che volevi vedere come fare senza class lo script l'ho rifatto appunto senza l'attributo class nei link, ma oltre allo script ho rifatto anche la parte html.

    Va da se che se tu nello script hai qualcosa del tipo:

    Codice PHP:
    $(document).ready(
        function(){
           $(
    "a:link .fades").mouseover(
               function(){
                   $(
    this).animate({ color'red' }, 1000);
               }
           )

           $(
    "a:link .fades").mouseout(
                function(){
                   $(
    this).animate({ color'blue' }, 1000);
                }
           )
        }

    e poi nella parte html non hai nessun link che presenta l'attributo class impostato su 'fades', lo script non viene applicato a nessun link.

    Per farti capire l'utilità di utilizzare class ti faccio un esempio.
    Tu utilizzi per i link di navigazione tra le sezioni l'effetto di animazione sul colore, mentre non vuoi fare lo stesso per gli altri link del tuo sito.
    Per risolvere il problema basta assegnare ai link di navigazione tra le sezioni una classe così che tu possa richiamare i link di quella classe con il selettore:

    $("a:link .fades")...

    In questo modo lo script ignorerebbe tutti i link che non sono di questa classe.

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.