perutti 0 Denunciar post Postado Maio 15, 2009 Boa dia pessoal!! Seguinte, tenho um menu em flash, como mostra o codigo abaixo: var menus = [menu_fotos, this.menu_videos, this.menu_pod, this.menu_evento, this.menu_prog, this.menu_form, this.menu_reg]; for (var i=0; i<menus.length; i++) { menus[i].onRelease = function() { _root.gotoAndStop(this._name); } }; Isto é, tem a lista nos menus na Array (menu_fotos, menu_videos, etc...).. e isso esta funcionando tudo ok... A questão é a seguinte, eu gostaria de fazer com que sempr que eu clicar em um botão deste menu, todos que forem os seguintes dele, vão para baixo e os acima vão para posição inicial deles, por exemplo: a ordem é : menu_fotos, menu_videos, menu_pod, menu_evento, menu_prog, menu_form, menu_reg se eu clicar no menu_pod que é o 3º da lista, os seguintes que são os evento, prog, form e o reg executem a função de ir para baixo e os antes dele que são os videos e fotos executem a função de ir para a posição inicial.. se eu clicar no menu_reg, por exemplo, nenhum vai para baixo, pois ele é o ultimo e todos que estão antes dele vao para posição inicial. A função de ir para baixo e ir para posição inicial eu até sei fazer, o problema é como fazer a condição que sempre que eu clicar em um botão do menu, ele entenda que os seguintes, executem a ação... se alguem conseguir me ajudar, eu agradeço!!! abrãção a todos!!! Compartilhar este post Link para o post Compartilhar em outros sites
carneirinho 7 Denunciar post Postado Maio 15, 2009 crie um id pra cada um que será o equivalente a ordem dele no array, por exemplo: for (var i=0; i<menus.length; i++) { menus[i].valor = i; menus[i].onRelease = function() { _root.clicar(this.valor); _root.gotoAndStop(this._name); } }; na função passe esse parametro valor de cada movieclip para ver se é maior ou menor que o clicado para executar, eis a função de exemplo. função clicar criada no _root: function clicar(numero){ for (var i=0; i<menus.length; i++) { if(i <= numero){ trace("desce"); } else { trace("sobe"); } } } veja se é isso que você precisa. Compartilhar este post Link para o post Compartilhar em outros sites
perutti 0 Denunciar post Postado Maio 17, 2009 crie um id pra cada um que será o equivalente a ordem dele no array, por exemplo: for (var i=0; i<menus.length; i++) { menus[i].valor = i; menus[i].onRelease = function() { _root.clicar(this.valor); _root.gotoAndStop(this._name); } }; na função passe esse parametro valor de cada movieclip para ver se é maior ou menor que o clicado para executar, eis a função de exemplo. função clicar criada no _root: function clicar(numero){ for (var i=0; i<menus.length; i++) { if(i <= numero){ trace("desce"); } else { trace("sobe"); } } } veja se é isso que você precisa. legal acho que eh exatamente isso... você poderia comentar as linhas dos codigos que você criou acima, isso iria me ajudar a entender.... por exemplo, eu queria que quando clicar em um botao, como o 3 por exemplo, ele pegue todos os maiores que o 3, e execute a acao "ySlideTo(this._y = 10)" mmuioto obrigado Compartilhar este post Link para o post Compartilhar em outros sites