Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16
  1. #1

    Div appare e parte il Flash!

    Buondì!
    Ho un div che contiene un filmato flash, una sorta di popup senza usare le popup.
    Inizialmente il div è nascosto e il filmato è in posizione stop(); al primo fotogramma.
    Cliccando su un pulsante nell'html appare il DIV e parte il flash; cliccando invece all'interno del flash (pulsante "chiudi") eseguo l'animazione di chiusura dell'SWF e nascondo il DIV. Ecco il codice che sto usando e successivamente vi spiego il problema.

    Codice PHP:
    function MostraChrome() {
        
    document.getElementById("Layer2").style.visibility='visible';
    }

    function 
    getFlashMovieObject(movieName) {
      if (
    window.document[movieName]) 
      {
        return 
    window.document[movieName];
      }
      if (
    navigator.appName.indexOf("Microsoft Internet")==-1)
      {
        if (
    document.embeds && document.embeds[movieName])
          return 
    document.embeds[movieName]; 
      }
      else 
    // if (navigator.appName.indexOf("Microsoft Internet")!=-1)
      
    {
        return 
    document.getElementById(movieName);
      }
    }

    function 
    PlayFlashMovie()
    {
        
    MostraChrome();
        var 
    flashMovie=getFlashMovieObject("myFlashMovie");
        
    flashMovie.Play();
    }

    ...

    [
    img]img/mostralayer.gif[/img]
    <
    div id="Layer2" style="visibility:hidden;">
    <
    object .... 
    Succede questo: quando clicco sul pulsante (provato con IE6 e FF2009, stesso comportamento) mi mostra il layer ma non parte il flash. Se poi clicco nuovamente sul pulsante, allora parte il flash. Quindi per ottenere il risultato devo cliccare due volte sul pulsante invece io vorrei, al click, in sequenza MOSTRA IL DIV -> PARTI COL FLASH.
    Stesso risultato con:

    Codice PHP:
    [img]img/mostralayer.gif[/img
    Cos'è che mi sfugge?
    :master:
    Sto ancora imparando.... Chiedo comprensione!
    !...Send ME a message...!

  2. #2
    Ho cercato di renderlo maggiormente CROSSBROWSER in questo modo:

    Codice PHP:
    function shoh(id) { 
        
        if (
    document.getElementById) { // DOM3 = IE5+, NS6+, FF
            
    if (document.getElementById(id).style.display == "none"){
                
    document.getElementById(id).style.display 'block';
            } else {
                
    document.getElementById(id).style.display 'none';
            }    
        } else { 
            if (
    document.layers) { // NS4.7  
                
    if (document.id.display == "none"){
                    
    document.id.display 'block';
                } else {
                    
    document.id.display 'none';
                }
            } else { 
    //IE 4
                
    if (document.all.id.style.visibility == "none"){
                    
    document.all.id.style.display 'block';
                } else {
                    
    document.all.id.style.display 'none';
                }
            }
        }
    }


    function 
    PlayFlashMovie()
    {
        
    shoh('Layer2');
        var 
    flashMovie=getFlashMovieObject("myFlashMovie");
        
    flashMovie.Play();

    Ma la cosa è peggiorata!
    Ora in FireFox apre solo il DIV e il filmato FLASH non parte più (in Explorer tutto come prima).
    Sto ancora imparando.... Chiedo comprensione!
    !...Send ME a message...!

  3. #3
    Nessuno?


    La mia domanda è troppo stupida o troppo complessa (io opterei per la prima...)?
    Sto ancora imparando.... Chiedo comprensione!
    !...Send ME a message...!

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Prova cosi:
    codice:
    function shoh(id) {
        
        if (document.getElementById) { // DOM3 = IE5+, NS6+, FF
            if (document.getElementById(id).style.display == "none"){
                document.getElementById(id).style.display = 'block';
            } else {
                document.getElementById(id).style.display = 'none';
            }    
        } else {
            if (document.layers) { // NS4.7  
                if (document.id.display == "none"){
                    document.id.display = 'block';
                } else {
                    document.id.display = 'none';
                }
            } else { //IE 4
                if (document.all.id.style.visibility == "none"){
                    document.all.id.style.display = 'block';
                } else {
                    document.all.id.style.display = 'none';
                }
            }
        var flashMovie=getFlashMovieObject("myFlashMovie");
        flashMovie.Play();
        }
    }
    richiamato cosi:
    codice:
    [img]img/mostralayer.gif[/img]
    <div id="Layer2" style="visibility:hidden;">
    Non l'ho testo potrebbe non andare
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5
    No, niente da fare! Si comporta sempre nello stesso modo...
    Boh, eppure in giro ne ho viste tante di animazioni flash che partono in un DIV, proprio non capisco, per logica dovrebbe andare!
    Sto ancora imparando.... Chiedo comprensione!
    !...Send ME a message...!

  6. #6
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Andando per esclusione, sei sicura che il flash venga richiamato cosi? Io flash non lo conosco non posso aiutarti prova a togliere il div e far partire il flash al click.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  7. #7
    Buongiorno Andrea. Annuncio ufficialmente che sto per diventare pazza.

    Guarda tu stesso la bizzarria , ho pubblicato un HTML di esempio, coi vari comandi:

    http://www.laloh.com/divflash/divflash1.htm

    Con IE6
    Se clicchi direttamente su "Mostra&Parti", compare il DIV ma non parte il Flash. Se invece clicchi prima su "Mostra/Nascondi DIV" e poi su "Mostra&Parti" oppure due volte su "Mostra&Parti", allora poi tutto funziona come dovrebbe... (?!?!?)

    Con FireFox 2.0.0.9
    Il filmato Flash parte solo se clicchi su "Parti col Flash" altrimenti non c'è verso.
    Nella console degli errori mi dice:

    codice:
    Errore: flashMovie.GotoFrame is not a function
    File sorgente: //divflash/divflash1.htm
    Riga: 72
    MA USO LA STESSA FUNZIONE DEL PLAY!!!!

    Sto ancora imparando.... Chiedo comprensione!
    !...Send ME a message...!

  8. #8
    Nessuno per me??

    Sto ancora imparando.... Chiedo comprensione!
    !...Send ME a message...!

  9. #9
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Originariamente inviato da cavicchiandrea
    Andando per esclusione, sei sicura che il flash venga richiamato cosi? Io flash non lo conosco non posso aiutarti prova a togliere il div e far partire il flash al click.
    Insisto, aiutati che dio t'aiuta, per risolvere il problema si deve capire se il comando per far partire il flash sia corretto.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  10. #10
    Utente di HTML.it L'avatar di Igreo
    Registrato dal
    Jun 2004
    Messaggi
    1,114
    Io qui proverei a fare un ulteriore controllo:

    function PlayFlashMovie()
    {
    shoh('Layer2');
    var flashMovie=getFlashMovieObject("myFlashMovie");
    flashMovie.Play();
    }

    cioè:

    function PlayFlashMovie()
    {
    shoh('Layer2');
    if (document.getElementById) { // DOM3 = IE5+, NS6+, FF
    if (document.getElementById('Layer2').style.display = 'block' ) {
    var flashMovie=getFlashMovieObject("myFlashMovie");
    flashMovie.Play();
    }
    } else {
    if (document.layers) { // NS4.7
    if(document.Layer2.display = 'block') {
    var flashMovie=getFlashMovieObject("myFlashMovie");
    flashMovie.Play();
    }
    }
    }
    else { //IE 4
    if (document.all.Layer2.style.display = 'block') {
    var flashMovie=getFlashMovieObject("myFlashMovie");
    flashMovie.Play();
    }
    }
    }


    ^^

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.