Jump to content


Photo

Layers


  • Faça o login para participar
6 replies to this topic

#1 Hcar

Hcar

    Novato no fórum

  • Usuários
  • 10 posts
  • Sexo:Não informado

Posted 21/07/2006, 19:15

Gostaria de saber como tenho que fazer para passar um parâmetro para outra layer, tipo assim, tenho uma layer com dois links, que abrem uma outra layer por cima da layer com os links, e eu precisava de pegar um valor que seriam diferentes em cada link, e com esse valor configurar a outra layer, tem como alguem me ajudar, pois não conheço nada de javascript, obrigado a todos.

#2 pgnall

pgnall

    Enable

  • Usuários
  • 383 posts
  • Sexo:Masculino
  • Localidade:http://eduardo.sganzerla.net

Posted 21/07/2006, 19:53

nossa cara, vc deu um nó na minha cabeça hehe
deixa eu ver se entendi:

Layer1 = links;
Layer2 = conteudo;


os links abrem a Layer2 com um conteudo especificado.

Se for isso:

Eu aconselharia criar uma função que abre cada layer ou simplesmente edita o conteudo da layer2 abrindo ela...
Os links na layer1 chamariam essa função...

Então, procure aqui no fórum, nos tutoriais tem algo sobre mostrar/ocultar camadas.

Para criar uma função só é necessário escrever: function NOME_DA_FUNCAO{ //conteudo }.

O conteudo da layer seria algo tipo:
document.getElementById("ID_DO_LAYER").innerHTML = "NOVO_CONTEUDO";

Abraço
Eduardo Sganzerla
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀


www.Eu Sei Escrever.com.br - Adote esta campanha!

#3 Hcar

Hcar

    Novato no fórum

  • Usuários
  • 10 posts
  • Sexo:Não informado

Posted 21/07/2006, 21:13

nossa cara, vc deu um nó na minha cabeça hehe
deixa eu ver se entendi:

Layer1 = links;
Layer2 = conteudo;


os links abrem a Layer2 com um conteudo especificado.

Se for isso:

Eu aconselharia criar uma função que abre cada layer ou simplesmente edita o conteudo da layer2 abrindo ela...
Os links na layer1 chamariam essa função...

Então, procure aqui no fórum, nos tutoriais tem algo sobre mostrar/ocultar camadas.

Para criar uma função só é necessário escrever: function NOME_DA_FUNCAO{ //conteudo }.

O conteudo da layer seria algo tipo:
document.getElementById("ID_DO_LAYER").innerHTML = "NOVO_CONTEUDO";

Abraço


Tá bom essa segunda opção de editar o conteúdo da layer é interessate, mas o que você diz 'novo conteúdo' seria um código html? é isso, como usar

#4 pgnall

pgnall

    Enable

  • Usuários
  • 383 posts
  • Sexo:Masculino
  • Localidade:http://eduardo.sganzerla.net

Posted 21/07/2006, 21:26

isso... vc colocaria o conteundo HTML que ficaria dentro da tag do layer...
Eduardo Sganzerla
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀


www.Eu Sei Escrever.com.br - Adote esta campanha!

#5 Hcar

Hcar

    Novato no fórum

  • Usuários
  • 10 posts
  • Sexo:Não informado

Posted 21/07/2006, 22:19

Desculpe o questionamento longo, mas não sei nada de javascript, veja se estou certo, para eu redesenhar uma layer, então eu usaria o código assim?
var html = conteúdo //código html
document.getElementById("ID_DO_LAYER").innerHTML = html

outra coisa, para eu acessar uma layer que está por baixo desta eu usaria
var contentLayer = document.getElementById("ID_DO_LAYER").innerHTML
agora o principal: Como eu acesso um campo de um form nesta layer, este form estando dentro de uma tabela.
Obrigado por estar me ajudando, abraços.

#6 pgnall

pgnall

    Enable

  • Usuários
  • 383 posts
  • Sexo:Masculino
  • Localidade:http://eduardo.sganzerla.net

Posted 21/07/2006, 22:56

Beleza, vamos lá...

function exibeLayer2(layerId){
Layer = document.getElementById(layerId); // váriavel layer agora captura o Elemento do layer com a Id fornecida
Layer.style.visibility = "visible"; // Deixa o layer2 visivel
}

function editaLayer2(layerId,link){
Layer = document.getElementById(layerId); // váriavel layer agora captura o Elemento do layer com a Id fornecida
if(link == 1){ // Se link = 1
conteudo = "1 = UM"; // Então esse vai ser o valor da váriavel conteudo
}else{ // Se não
conteudo = "2 = DOIS"; // Vai ser este
}
Layer.innerHTML = conteudo; // o que vai haver dentro da tag cuja id é a que foi atribuida pela função vai ser oque tiver dentro da variavel conteudo.
exibeLayer2(layerId); // Se o layer ainda não está visivel exibe ele.
}

<a href="java script:void(0)" onclick="editaLayer2('layer2',1)">Link 1</a>
<a href="java script:void(0)" onclick="editaLayer2('layer2',2)">Link 2</a>

Explicando
java script:void(0)
Está função não vai retornar nada no link
onclick="editaLayer2('layer2',1)"
Quando clicar no link, ele chama a função editarLayer2() com os atributos:
layer2 a id que iremos atribuir ao layer2;
1 identificação do conteudo para exibir no layer2;


<div id="layer1">Aqui vc coloca os links</div>
<div id="layer2" style="visibility: hidden"></div>

Explicando
O que significa o style="visibility: hidden"?
Estamos mostrando por CSS que este layer ficará oculto.
Por que a div layer2 não tem nada?
Nesta layer o javascript irá colocar o conteudo, é bom deixa-la em branco pois deixará a página mais leve.

PRONTO! Agora é só você continuar estudando e usar a criatividade...

Isso ai... Boa Sorte!
Quanto as campos do formulário... Você precisa atribuir uma id para eles e a mesma história, ou utilizar como "document.NOME_DO_FORMULARIO.NOME_DO_CAMPO" ponto value acredito que vc usaria...

Edição feita por: pgnall, 21/07/2006, 22:57.

Eduardo Sganzerla
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀


www.Eu Sei Escrever.com.br - Adote esta campanha!

#7 Hcar

Hcar

    Novato no fórum

  • Usuários
  • 10 posts
  • Sexo:Não informado

Posted 21/07/2006, 23:15

Muito obrigado, agora sim comecei a entender a lógica, estava meio confuso, dei uma olhada em varios sites e posts, mas não estava entendendo, mas acho que este trecho de código que você postou aí vai resolve meu problema, abraços.




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq