Visualizzazione dei risultati da 1 a 8 su 8

Discussione: Un evento e due azioni

  1. #1

    Un evento e due azioni

    Il javascript a volte proprio non lo digerisco ...
    Ho un link, con gli eventi onmouseover e onmouseout. Al passaggio del mouse sul link ho

    [list=1][*]Elimino la sfocatura da un'immagine[*]Scrivo in un div del testo[/list=1]

    Nello stesso link ho ripetuto due volte l'istruzione onmouseover e onmouseout e lo script non funziona. Non riesco a creare una funzione che esegua entrambe le operazioni senza avere un errore.
    Devo creare una funzione da eseguire all'evento onmouseover e onmouseout ma sono qui da 2 ore senza avere il minimo risultato ...

    Codice PHP:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <
    html xmlns="http://www.w3.org/1999/xhtml">
    <
    head>
    <
    meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <
    title>Documento senza titolo</title>
    <
    script language="javascript" type="text/javascript">
    function 
    high(which2){
    theobject=which2
    highlighting
    =setInterval("highlightit(theobject)",50)
    }
    function 
    low(which2){
    clearInterval(highlighting)
    if (
    which2.style.MozOpacity)
    which2.style.MozOpacity=0.3
    else if (which2.filters)
    which2.filters.alpha.opacity=30
    }

    function 
    highlightit(cur2){
    if (
    cur2.style.MozOpacity<1)
    cur2.style.MozOpacity=parseFloat(cur2.style.MozOpacity)+0.1
    else if (cur2.filters&&cur2.filters.alpha.opacity<100)
    cur2.filters.alpha.opacity+=10
    else if (window.highlighting)
    clearInterval(highlighting)
    }
    </script>
    </head>

    <body>
    [url="#"]Passa qui[/url]

    <h1 id="dynamic">Testo variabile</h1>

    [img]images/immagine.jpg[/img]


    </body>
    </html> 

  2. #2
    cattura gli eventi del mouse solo 1 volta. Nelle funzioni che richiami fai tutto quello che devi fare al verificarsi dell'evento.
    Nel tuo caso il cambio del testo può essere benissimo fatto nel corpo delle funzioni high e low

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2000
    Messaggi
    938
    Ciao,

    come ti è stato detto, il richiamo delle funzioni su un evento inglobale in una sola chiamata.

    onmouseover="funzione1();funzione2();document.getE lementById('')"

    con Firefox leffetto fade sull'immagine non funziona.

    L'opacità per FX si scrive -moz-opacity:.30;opacity:.30


    style="filter:alpha(opacity=30); -moz-opacity:.30;opacity:.30" />

    Massimo

  4. #4
    Oppure fai una funzione esterna con dentro le varie istruzioni e nell'evento del link la richiami

  5. #5
    Grazie Massimo61, il tuo metodo funziona alla perfezione!
    Vorrei però fare una funzione per gestire lo script.
    Faccio nel seguente modo e il testo nel div varia, ma non tolgo la sfocatura all'immagine. Che pena!



    Codice PHP:
        <script language="javascript" type="text/javascript">
        function 
    dinamico(elemento){
            
    high(document.elemento);
            
    document.getElementById('dynamic').innerHTML 'Il testo cambia';
        }    
        
    </script>

    [url="#"]Passa qui[/url] 

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2000
    Messaggi
    938
    Ciao,

    function dinamico(pri){
    high(document.pri);
    document.getElementById('dynamic').innerHTML = 'Il testo cambia';
    }


    Passa qui


    Massimo

  7. #7
    Originariamente inviato da Massimo61
    Ciao,

    function dinamico(pri){
    high(document.pri);
    document.getElementById('dynamic').innerHTML = 'Il testo cambia';
    }


    Passa qui


    Massimo
    Grazie ancora Massimo, però non funziona. Ossia, così com'è la funzione non dà problemi. Se però passo alla funzione il nome di un altro elemento, per esempio onmouseover="dinamico(sec);" ho questo errore e non viene eliminata la sfocatura dall'immagine.
    codice:
    cur2 is undefined
    
    function highlightit(cur2){
    if (cur2.style.MozOpacity<1)
    cur2.style.MozOpacity=parseFloat(cur2.style.MozOpacity)+0.1
    else if (cur2.filters&&cur2.filters.alpha.opacity<100)
    cur2.filters.alpha.opacity+=10
    else if (window.highlighting)
    clearInterval(highlighting)
    }

  8. #8
    Facendo così si sistema tutto. Grazie per la collaborazione.

    Codice PHP:

    function dinamico(elem){
    high(elem);
    document.getElementById('dynamic').innerHTML 'Il testo cambia';
    }


    [
    url="#"]Passa qui[/url

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.