Visualizzazione dei risultati da 1 a 3 su 3

Discussione: testare blendtrans

  1. #1
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    1

    testare blendtrans

    ho il seguente problema: vorrei inserire degli effetti di fadein e fadeout nelle mie pagine e ho adattato del codice sparso in giro e funziona perfettamente.
    codice:
    function fadein(obj) {
         myObj = eval(obj)
         myObj.filters.blendTrans.apply();
         myObj.style.visibility = "visible";
         myObj.filters.blendTrans.play();
         return true;
    }
    function fadeout(obj) {
         myObj = eval(obj)
         myObj.filters.blendTrans.apply();
         myObj.style.visibility = "hidden";
         myObj.filters.blendTrans.play();
         return true;
    }
    purtroppo molti mi dicono che i loro browser riportano questo errore myObj.filters.blendTrans non è un oggetto.
    la domanda è: come posso fare per far si che sui browser che lo supportano (quali sono? IE4WIN:no IE5.5MAC:no per esempio) venga eseguito quel codice e su quelli che non lo supportano una versione diversa dello stesso script senza blendtrans

    codice:
    function fadein(obj) {
         myObj = eval(obj)
         myObj.style.visibility = "visible";
         return true;
    }
    function fadeout(obj) {
         myObj = eval(obj)
         myObj.style.visibility = "hidden";
         return true;
    }
    visto che ho supporto asp pensavo di fare cosi:
    creare una pagina iniziale che testa il codice (come?) e se genera errori memorizza un cookie ("js") che verrà poi utilizzato dallo script presente nelle pagine del sito
    codice:
    function fadein(obj) {
    <% if request.cookies("js")="false" then %>
         myObj = eval(obj)
         myObj.style.visibility = "visible";
    <% else %>
         myObj = eval(obj)
         myObj.filters.blendTrans.apply();
         myObj.style.visibility = "visible";
         myObj.filters.blendTrans.play();
    <% end if %>
         return true;
    }
    function fadeout(obj) {
    <% if request.cookies("js")="false" then %>
         myObj = eval(obj)
         myObj.style.visibility = "hidden";
    <% else %>
         myObj = eval(obj)
         myObj.filters.blendTrans.apply();
         myObj.style.visibility = "hidden";
         myObj.filters.blendTrans.play();
    <% end if %>
         return true;
    }
    come posso fare?
    in alternativa, non esiste un altro metodo per fare il fadein fadeout di oggetti che funzioni ovunque?

    p.s. nella chiamata alle funzioni viene passato come parametro l'id del tag <DIV> di cui eseguire il fadein/fadeout

    grazie per l'aiuto, CAFxX

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2003
    Messaggi
    709
    Ehmmm ... a dire il vero, non conosco ancora JS abbastanza bene da darti una soluzione; però posso darti la mia opinione: secondo me il problema risiede nel fatto che tu usi la funzione eval(obj) per creare "myObj" (inoltre in entrambi i casi hai scordato il ";" dopo "myObj=eval(obj)").
    Prova a sostituire la riga con il codice:
    myObj=document.getElementById(obj);

    Spero di esserti stato utile
    Secan

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    La cosa e` piu` complessa di come la descrive secan, dato che i filtri sono un'estensione microsoft e non fanno parte dello standard.

    Il fade si puo` realizzare (per i browser che lo supportano) modificando la percentuale di contrasto (ora non ricordo esattamente). Lo ho visto fare in uno script (forse era un tutorial), ma non chiedetemi riferimenti, perche` non li trovo piu`.

    Il consiglio di secan di sostituire eval() con getElementById() e` valido, se nei vari oggetti e` definito l'attributo id e se viene passato alla funzione la stringa; in alternativa si puo` passare l'oggetto (ed eliminare quindi la necessita` dell'eval().

    Ciao
    Michele
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

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.