Visualizzazione dei risultati da 1 a 10 su 10

Discussione: numero voci menu

  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    3,023

    numero voci menu

    ciao
    ho il numero massimo delle voce di menu come variabile...
    vorrei che in base a questo numero mi creasse altrettanti campi di testo....

    supponiamo che
    nvoci=5 // vi sono 5 voci di menu

    vorrei che mi creasse 5 TextField chiamate menu1, menu2, menu 3...

    la versione statica sarebbe:

    this.createTextField("menu1",10,10,10,100,21)
    menu1.text="pippo"
    stop();
    ...

    ma in modo dinamico?

  2. #2
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    3,023
    ho risolto ponendo nel primo frame

    n=1;
    this.createTextField("menu"+n,10,10,10,100,21)
    menu1.text="pippo"
    stop();

    in un altro frame ho posto
    n++

    c'è solo un "piccolo problema"...quando crea un nuovo campo di testo i campi precedenti scompaiono...

  3. #3
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    si può fare in un solo frame, con un ciclo ed un array

    var nvoci = new Array("home", "chi", "quando", "dove", "perchè");
    for(var i=0; i<=nvoci.length; i++){
    var l = i+1;
    this.createTextField("menu"+l,10+l,10*l,10,100,21)
    this["menu"+l].text= nvoci[i];
    }

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    3,023
    Originariamente inviato da and80
    si può fare in un solo frame, con un ciclo ed un array

    var nvoci = new Array("home", "chi", "quando", "dove", "perchè");
    for(var i=0; i<=nvoci.length; i++){
    var l = i+1;
    this.createTextField("menu"+l,10+l,10*l,10,100,21)
    this["menu"+l].text= nvoci[i];
    }
    c'è un "undefined" al fondo...

    invece di new Array("home", "chi", "quando", "dove", "perchè"); volevo far caricare le voci dinamicamente da flashvar...

  5. #5
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Originariamente inviato da DaZKooL
    c'è un "undefined" al fondo...

    invece di new Array("home", "chi", "quando", "dove", "perchè"); volevo far caricare le voci dinamicamente da flashvar...
    c'è un errore --> i<=nvoci.length --> deve diventare --> i < nvoci.length

    per quanto riguarda flashVars... una cosa non esclude l'altra... puoi tenere per buono il codice che ti ho scritto e riempire l'array dalle flashVars... dipende però da come arrivano queste flashVars... comunque nell'array basta "pusharle", ad esempio

    var array = new Array();
    array.push(flashVars1);
    array.push(flashVars2);
    array.push(flashVars3);
    ecc...

  6. #6
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    3,023
    quindi è corretto:

    nvoci=3

    var array = new Array();
    array.push(flashVars1);
    array.push(flashVars2);
    array.push(flashVars3);

    for(var i=0; i < nvoci.length; i++){
    var l = i+1;
    this.createTextField("menu"+l,10+l,100*l,10,100,21 )
    this["menu"+l].text= nvoci[i];
    }


    ???

  7. #7
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Originariamente inviato da DaZKooL
    quindi è corretto???
    direi di sì... perchè?! non va?

  8. #8
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    3,023
    Originariamente inviato da and80
    direi di sì... perchè?! non va?
    non funzia...sull'html ho flashvar:

    <param name="flashvars" value="slogan=Shaping Our World&n_voci=4&voce_1=company&link_1=link 1&target_1=_self&voce_2=business lines&link_2=link 2&target_2=_self&voce_3=services&link_3=link 3&target_3=_blank&voce_4=services&link_4=link 4&target_4=_blank&img_1=immagine 1&img_2=immagine 2&thumb_1=thumbnails 1&thumb_4=thumbnails 4&tit_ww=CNH Worldwide&n_voci_ww=1&voce_ww1=North America&link_ww1=link WW 1&target_ww1=_self">

    ogni voce dovrebbe essere poi cliccabile...pensavo di creare dinamicamente un movie clip ma non so come fare

  9. #9
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    così non va?!

    var my_array = new Array();
    my_array.push(_level0.voce_1);
    my_array.push(_level0.voce_2);
    my_array.push(_level0.voce_3);
    my_array.push(_level0.voce_4);
    for(var i=0; i < nvoci.length; i++){
    var l = i+1;
    this.createTextField("menu"+l,10+l,100*l,10,100,21 )
    this["menu"+l].text= nvoci[i];
    }

    ps. se vuoi utilizzarli come pulsanti devi inserirli in dei movieclip, quindi il tuo codice si tramuterebbe in

    codice:
    var nvoci = new Array();
    nvoci.push(_level0.voce_1);
    nvoci.push(_level0.voce_2);
    nvoci.push(_level0.voce_3);
    nvoci.push(_level0.voce_4);
    for(var i=0; i < nvoci.length; i++){
    	var l = i+1;
    	this.createEmptyMovieClip("menu"+l, l);
    	this["menu"+l]._x = 100*l;
    	this["menu"+l]._y = 10;
    	this["menu"+l].createTextField("testo", 1, 0, 0, 100, 21)
    	this["menu"+l].testo.text= nvoci[i];
    }

  10. #10
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    3,023
    si, funziona,
    solo che se c'è

    my_array.push(_level0.voce_1);
    my_array.push(_level0.voce_2);
    my_array.push(_level0.voce_3);
    my_array.push(_level0.voce_4);

    e io ho solo 3 voci, la 4 viene undefined...invece voglio definire

    nvoci=3

    e che quindi le flashvars ci siano tutte e 4, 5, 10...ma che si vedano soltanto nvoci.

    riguardo ai movieclip li vorrei linkare alle altre flashvar link, secondo il loro numero.

    mi sai dire o suggerire un tutorial?

    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.