JavaScript / Jquery duvida
|
30-11-2010, 11:07
Mensagem: #1
|
|||
|
|||
JavaScript / Jquery duvida
Bom dia,
estou a fazer uma função que basicamente me adiciona ou remove classes a uma div e a uma lista... para com isto conseguir mudar a estrutura de um layout à medida que o utilizador clica num item da lista. A coisa já funciona mas eu não sou lá grande coisa em jquery então a função está um pouco extensa e tem um bug que gostava que me ajudassem a resolver. segue a função: Código PHP: $("li.layout1").toggle(function(){ o que acontece é que quando clico num item da lista pela primeira vez tudo acontece como esperado, a class muda, no entanto se mudar para outra vista e dps voltar a clicar na primeira preciso de dois clicks para a coisa funcionar... alguma sugestão? |
|||
30-11-2010, 11:47
Mensagem: #2
|
|||
|
|||
RE: JavaScript / Jquery duvida
Assim é complicado chegar lá, não podes disponibilizar mais código?!
|
|||
30-11-2010, 11:57
Mensagem: #3
|
|||
|
|||
RE: JavaScript / Jquery duvida
basicamente isto faz mudar em dois locais html:
Código PHP: <ul class="layout-btn"> aqui muda apaga o block1 e cria um block2 no layout2... Código PHP: <div class="project img-grid"> e ao mesmo tempo tenho uma div onde vai ser modificada a class img-grid para txt-img-grid ou txt-grid consoante a escolha... a coisa funciona a primeira vez que uso mas dps quando tenho que mudar para uma class que ja usei antes ele precisa de dois clicks :/ |
|||
30-11-2010, 13:09
Mensagem: #4
|
|||
|
|||
RE: JavaScript / Jquery duvida
Bem, antes de mais, parece-me que o toggle() não é a função mais indicada para utilizar aí.
http://api.jquery.com/toggle/ Deverias utilizar algo como o click() e definir/interpretar lá se é para esconder ou mostrar. Em princípio isso resolverá o teu bug, em que esperas que algumas coisas estejam escondidas ou visíveis mas durante o código escondes/mostras, sem callbacks. BrunoBernardino.com |
|||
30-11-2010, 13:40
(Esta mensagem foi modificada pela última vez a: 30-11-2010 13:40 por mpmont.)
Mensagem: #5
|
|||
|
|||
RE: JavaScript / Jquery duvida
Perfeito Bruno! funcionou... =) Thanks
|
|||
02-12-2010, 19:27
Mensagem: #6
|
|||
|
|||
RE: JavaScript / Jquery duvida
tenho outra duvida, agora numa outra coisa que estou a tentar fazer...
então é assim, o que quero fazer é muito simples em teoria, quero fazer fadeout --> fadeIn quando ha mudança de pagina. A parte do fadein é facil e já fiz, basicamente sempre que é carregada uma pagina eu coloco display: none na pagina com jquery e na mesma função faço fadeIn e fica bem. agora o que eu n sei fazer é o fadeOut. Não estou a ver como é que eu faço a detecção de que foi clicado um href que vai para uma pagina externa para depois fazer o fadeOut.. E ainda tenho mais um problema que é não podem ser todos os href's porque tenho galerias e alguns não enviam para outra pagina. Ou seja teria que ser com um ID em todos os links externos e dps esse ID é que servia para on click fadeOut e dps ir... alguma ideia em como fazer isto? ps: ainda estou a dar os primeiro passos em jquery... =) |
|||
02-12-2010, 19:52
Mensagem: #7
|
|||
|
|||
RE: JavaScript / Jquery duvida
podes fazer isso com classes ou rel's, que é o mais indicado, por exemplo:
Código: <a href="#" rel="external">Link externo</a> | <a href="#">Link interno</a> Depois terias um JS do tipo: Código: $('a[rel="external"]').click(function() { alert('este link vai para fora, fazer aqui o fadeOut'); }) Outra nota, se queres esconder algo, podes utilizar o hide() do jQuery, que basicamente coloca o display: none, mas sempre utilizas a framework na totalidade. BrunoBernardino.com |
|||
02-12-2010, 20:54
Mensagem: #8
|
|||
|
|||
RE: JavaScript / Jquery duvida
ok, amanhã testo isso e digo como correu, a ideia do rel parece-me excelente =) thanks
|
|||
03-12-2010, 11:21
Mensagem: #9
|
|||
|
|||
RE: JavaScript / Jquery duvida
Não está a funcionar, não era suposto ser só assim?
Código PHP: $('a[rel="external"]').click(function() { |
|||
03-12-2010, 16:45
Mensagem: #10
|
|||
|
|||
RE: JavaScript / Jquery duvida
Sim, mas qual é o teu código HTML?
BrunoBernardino.com |
|||
« Mais Antigo | Mais Recente »
|
Utilizadores a ver este tópico: 6 Visitante(s)