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

    Istruzione Javascript in Flash

    Ciao a tutti,
    lo posto anche qua oltre che su Flash, forse è meglio ...
    Ho un problema con un istruzione javascript presa da un link html che inserisco in un bottone Flash:

    NELL'HTML:

    Voce 1

    IN FLASH L'HO INSERITA COSI':

    on (release) {
    getURL("java-script:visualizza(1); return false");
    }

    LA FUNZIONE JAVASCRIPT (per 'accendere' e 'spegnere' dei div nascosti):

    var totale=20
    function visualizza(num){
    if (document.getElementById){
    for(var k=1;k<=totale;k++){
    var el=document.getElementById('baita'+k);
    el.style.display=(k==num && el.style.display == 'none')?'block':'none';
    // aggiunta per chiudere la legenda

    var legenda=document.getElementById('legenda');
    legenda.style.display = 'none';
    }
    }
    }


    // aggiunta per riaprire la legenda

    function visualizza_legenda(){
    var legenda=document.getElementById('legenda');
    legenda.style.display = 'block';

    // e nascondere il resto -- NON FUNZIONA
    for(var k=1;k<=totale;k++){
    var el=document.getElementById('baita'+k);
    el.style.display = 'none';
    //el.style.display=(k==num && el.style.display == 'block')?'none':'block';
    }
    }

    Il bello è che su Opera funziona tutto mentre su Firefox e Explorer no; tra l'altro Explorer mi segnala il debug per un errore di sintassi...
    HELP!!!

  2. #2
    Se può servire... l'errore che segnala Explorer è:
    Errore: Istruzione 'Return' esterna alla funzione

    Grazie in anticipo!

  3. #3
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    nel getURL, al posto di quel return false scrivi void(0)
    ciao

  4. #4
    grazie Xinod, in realtà in Flash ho provato così:

    on (release) {
    getURL("javascript:visualizza(1)") ;
    return (false);
    }

    e funziona anche se non so se sia proprio corretto.
    Il problema adesso rimane nel javascript che mi chiama il debug (ho installato FireBug s u Firefox (https://addons.mozilla.org/firefox/1843/), ottimo! ):
    document.getElementById("baita" + kstring) has no properties
    mentre Explorer si limita a dichiarare "necessario oggetto"

    riposto il jscript (ci stiamo lavorando in due e non ci saltiamo fuori):

    var totale=20;
    /*
    function visualizza(num){
    if (document.getElementById){
    for(var k=1;k<=totale;k++){
    var el=document.getElementById('baita'+k);
    el.style.display=((k==num) && (el.style.display == 'none'))?'block':'none';
    // aggiunta per chiudere la legenda;

    var legenda=document.getElementById('legenda');
    legenda.style.display = 'none';
    }
    }
    }
    */

    function visualizza(num){
    // if (document.getElementById){
    for(var k=1;k<=totale;k++){
    var kstring= String(k);
    var el=document.getElementById('baita'+kstring);
    if (k==num && el.style.display=="none"){
    // if (k==num){

    el.style.display = "block";
    } else {
    document.getElementById('baita'+kstring).style.dis play = "none";
    }


    ///el.style.display=(k==num && el.style.display == 'none')?'block':'none';
    // aggiunta per chiudere la legenda;

    var legenda=document.getElementById('legenda');
    legenda.style.display = 'none';
    } // fine for
    // } // fine if
    } // fine function



    // aggiunta per riaprire la legenda;

    function visualizza_legenda() {
    var legenda=document.getElementById('legenda');
    legenda.style.display = 'block';

    // e nascondere il resto NON FUNZIONA ;
    if (document.getElementById){
    for(var k=1;k<=totale;k++){
    var el=document.getElementById('baita'+k);
    el.style.display = 'none';
    }// fine for
    } // fine if
    } ;// fine function

  5. #5
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    Originariamente inviato da biribit
    anche se non so se sia proprio corretto.
    + che altro credo non serva a nulla messo cosi'

    anche quel String non serve,
    se aggiungi una stringa ad un numero il risultato e' una stringa

    sicuro non sia semplicemente la mancanza dell' ultimo elemento valutato nel ciclo?
    se totale e' 20
    for(var k=1;k<=totale;k++){
    qui viene compreso anche baita20

  6. #6
    Ottimo e abbondante
    Centrato l'obiettivo, colpito e affondato.
    Mille grazie!

  7. #7
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    de nada

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.