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

    Menù fade onmousemove, con effetto QT e VLC.

    Ciao a tutti. Sono nuovo della programmazione javascript (e programmazione in generale), ma, essendo una mia passione, volevo farmi un bel sito utilizzando (X)HTML+CSS+JAVASCRIPT(se possibile puro, quindi non jQuery o mootools ecc). Mi sono messo da un pò di tempo a cercare di ricreare l'effetto in javascript del menù di VLC e Quicktime in modalità fullscreen, ma a parte qualche intoppo iniziale, ora funziona abbastanza bene; quindi volevo chiedere a voi un aiuto per:
    1. Ottimizzare il codice che probabilmente sarà rozzo, ridondante e molto spesso errato o come detto migliorabile;
    2. Non sono ancora riuscito a ricreare appieno l'effetto del fading, che dovrebbe al movimento del mouse, con qualsiasi opacità, rifare il fade fino a raggiungere opacità 1 (non so spiegarmi un granché bene, lo so, ma vi basta aprire VLC o QT per capire cosa intendo); cioé che se il mouse è in movimento, il fade non arriva a 0 e poi riinizia, ma riprende dal punto in cui è al momento.

    ecco il codice


    <!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>Untitled Document</title>


    <style type="text/css">
    * {
    border : 0;
    border-spacing : 0;
    font-family : "Lucida Sans Unicode", "Lucida Grande", sans-serif;
    font-size : 10px;
    list-style-type : none;
    margin : 0;
    outline : none;
    padding : 0;
    text-decoration : none;
    }

    body {
    background-image:url(../6e6665bd2d1af29fbc51cad8a7ec2e90.jpg);
    }

    #box {
    border-bottom: 2px solid #999;
    background : url(images/1pxK50pct.png);
    font-size: 16px;
    color: #FFF;
    text-align: center;
    height: 20px;
    line-height: 20px;
    width: 100%;
    opacity: 1.00;
    }

    </style>
    </head>

    <body onLoad="startTimer();">

    <script language="javascript">

    document.onmousemove = resetTimer; // Aggiunto per la compatibilità con Safari

    // Timer con timeOut a mouse inattivo

    var IDLE_TIME = 1000;
    var timerID = -1;

    function resetTimer() {
    if (timerID != -1) {
    if (document.getElementById('box').style.opacity < '0.00') { // Aggiunto
    fadeIn('box',300); // Aggiunto
    } // Aggiunto
    else { // Aggiunto
    } // Aggiunto
    clearTimeout(timerID);
    startTimer();
    }
    }

    function startTimer() {
    timerID = window.setTimeout("timeOut()",IDLE_TIME);
    }

    function timeOut() {
    if (timerID != -1) {
    if (document.getElementById('box').style.opacity > '0.00') { // Aggiunto
    fadeOut('box',1000); // Aggiunto
    } // Aggiunto
    else { // Aggiunto
    document.getElementById('box').style.opacity = '0.00'; // Aggiunto
    } // Aggiunto
    startTimer();
    }
    }

    // Effetto fade di Giulio Ganci

    function fadeOut(divID, time) {

    var speed = Math.round(time / 100);
    var frame = 0;

    for(fade = 100; fade >= 0; fade--) { // Modificato, adesso al posto di '>' adesso c'é '>='
    setTimeout("setOpacity('"+divID+"', "+fade+")", (speed * frame));
    frame++;
    }

    }

    function fadeIn(divID, time) {

    var speed = Math.round(time / 100);
    var frame = 0;

    for(fade = 0; fade <= 100; fade++) { // Modificato, adesso al posto di '<' adesso c'é '<='
    setTimeout("setOpacity('"+divID+"', "+fade+")", (speed * frame));
    frame++;
    }

    }

    function setOpacity(id, opacity) {
    var element = document.getElementById('box');
    if(document.all)
    element.style.filter = "alpha(opacity=" + opacity + ")";
    else
    element.style.opacity = opacity / 100;
    }

    // Mio codice

    function onmover () {
    document.onmousemove = null;
    clearTimeout(timerID);
    }

    function onmout () {
    document.onmousemove = resetTimer;
    startTimer;
    }

    </script>



    <div id="box" onmouseover="onmover();" onmouseout="onmout();">Effetto Fade Sfumatura (ajax) con javascript</div> <!--Aggiunto onmouseover e onmouseout
    -->


    </body>
    </html>


    Un grazie infinite, a chi mi risolve anche solo uno dei miei 2 problemi.
    PS: Buon Anno Nuovo a tutti!!!

  2. #2

    Menù fade onmousemove, con effetto QT e VLC corretto.

    Scusate ho ripostato il codice, con il css corretto, senza l'utilizzo di immagini esterne; quindi il post vecchio è eliminabile.

    Ciao a tutti. Sono nuovo della programmazione javascript (e programmazione in generale), ma, essendo una mia passione, volevo farmi un bel sito utilizzando (X)HTML+CSS+JAVASCRIPT(se possibile puro, quindi non jQuery o mootools ecc). Mi sono messo da un pò di tempo a cercare di ricreare l'effetto in javascript del menù di VLC e Quicktime in modalità fullscreen, ma a parte qualche intoppo iniziale, ora funziona abbastanza bene; quindi volevo chiedere a voi un aiuto per:
    1. Ottimizzare il codice che probabilmente sarà rozzo, ridondante e molto spesso errato o come detto migliorabile;
    2. Non sono ancora riuscito a ricreare appieno l'effetto del fading, che dovrebbe al movimento del mouse, con qualsiasi opacità, rifare il fade fino a raggiungere opacità 1 (non so spiegarmi un granché bene, lo so, ma vi basta aprire VLC o QT per capire cosa intendo); cioé che se il mouse è in movimento, il fade non arriva a 0 e poi riinizia, ma riprende dal punto in cui è al momento;
    3. Se conoscete effetti simili che mi possono essere d'aiuto, mi farebbe piacere se me li segnalaste.

    ecco il codice


    <!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>Untitled Document</title>


    <style type="text/css">
    * {
    border : 0;
    border-spacing : 0;
    font-family : "Lucida Sans Unicode", "Lucida Grande", sans-serif;
    font-size : 10px;
    list-style-type : none;
    margin : 0;
    outline : none;
    padding : 0;
    text-decoration : none;
    }

    body {
    background: #FFF;
    }

    #box {
    border-bottom: 2px solid #999;
    background : #000;
    font-size: 16px;
    color: #FFF;
    text-align: center;
    height: 20px;
    line-height: 20px;
    width: 100%;
    opacity: 1.00;
    }

    </style>
    </head>

    <body onLoad="startTimer();">

    <script language="javascript">

    document.onmousemove = resetTimer; // Aggiunto per la compatibilità con Safari

    // Timer con timeOut a mouse inattivo

    var IDLE_TIME = 1000;
    var timerID = -1;

    function resetTimer() {
    if (timerID != -1) {
    if (document.getElementById('box').style.opacity < '0.00') { // Aggiunto
    fadeIn('box',300); // Aggiunto
    } // Aggiunto
    else { // Aggiunto
    } // Aggiunto
    clearTimeout(timerID);
    startTimer();
    }
    }

    function startTimer() {
    timerID = window.setTimeout("timeOut()",IDLE_TIME);
    }

    function timeOut() {
    if (timerID != -1) {
    if (document.getElementById('box').style.opacity > '0.00') { // Aggiunto
    fadeOut('box',1000); // Aggiunto
    } // Aggiunto
    else { // Aggiunto
    document.getElementById('box').style.opacity = '0.00'; // Aggiunto
    } // Aggiunto
    startTimer();
    }
    }

    // Effetto fade di Giulio Ganci

    function fadeOut(divID, time) {

    var speed = Math.round(time / 100);
    var frame = 0;

    for(fade = 100; fade >= 0; fade--) { // Modificato, adesso al posto di '>' adesso c'é '>='
    setTimeout("setOpacity('"+divID+"', "+fade+")", (speed * frame));
    frame++;
    }

    }

    function fadeIn(divID, time) {

    var speed = Math.round(time / 100);
    var frame = 0;

    for(fade = 0; fade <= 100; fade++) { // Modificato, adesso al posto di '<' adesso c'é '<='
    setTimeout("setOpacity('"+divID+"', "+fade+")", (speed * frame));
    frame++;
    }

    }

    function setOpacity(id, opacity) {
    var element = document.getElementById('box');
    if(document.all)
    element.style.filter = "alpha(opacity=" + opacity + ")";
    else
    element.style.opacity = opacity / 100;
    }

    // Mio codice

    function onmover () {
    document.onmousemove = null;
    clearTimeout(timerID);
    }

    function onmout () {
    document.onmousemove = resetTimer;
    startTimer;
    }

    </script>



    <div id="box" onmouseover="onmover();" onmouseout="onmout();">Effetto Fade Sfumatura (ajax) con javascript</div> <!--Aggiunto onmouseover e onmouseout
    -->


    </body>
    </html>


    Il risultato si può vedere QUI Fade


    Un grazie infinite, a chi mi risolve anche solo uno dei miei 2 problemi.
    PS: Buon Anno Nuovo a tutti!!!

  3. #3
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Continua nell'altra discussione

    Edit: le ho unite...
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  4. #4
    Nessuno riesce a darmi una mano? Io ho già provato diverse volte a sistemaro questo script incasinatissimo, ma non ci riesco. Nel senso che se muovo il mouse e il box è già nell'azione di fade-out, non riesco a prendere l'opacità attuale e farla diventare 100%. Se è in fade-in non dovrebbe fare nulla, ma dovrebbe attendere di far arrivare l'opacità al 100%.

    Vi prego, se avete un pò di tempo, mi servirebbe una mano. Grazie.

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.