speedftw Posted May 2, 2012 at 12:21 PM Report #452671 Posted May 2, 2012 at 12:21 PM Boas! O que eu pretendo é conseguir mudar o style de várias imagens simultaneamente através de um botão. A ideia é ter um botão para a esquerda e outro para a direita. Clicando em um dos botões o style da imagem irá ser alterado (tamanho, opacidade, posição) num ciclo infinito que dá "a volta". Com o jQ consegui mudar o style de apenas uma imagem e clicando de novo no botão a imagem volta ao style anterior. Obrigado!
HappyHippyHippo Posted May 2, 2012 at 01:28 PM Report #452686 Posted May 2, 2012 at 01:28 PM tens de usar o selector correcto, do género: $("img"); // seleciona todos os elementos DOM imagens da página $("img.update"); // selecciona todos os elementos DOM imagens da página com a classe "update" $("div.changable img"); // selecciona todos os elementos DOM imagens dentro do div com a class "changable" IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
speedftw Posted May 2, 2012 at 03:15 PM Author Report #452726 Posted May 2, 2012 at 03:15 PM Algo que faria sentido para mim era ter por exemplo um array onde cada posição tivesse toda a definição da classe e cada imagem se "ligasse" a uma posição desse array. Depois carregando nos botões uma variável seria incrementada (ou decrementada) atribuindo a classe seguinte à imagem. Neste caso preciso de 4 classes diferentes para as imagens (direita, centro, esquerda, escondida) em que cada classe corresponde a uma imagem, excepto a escondida que pode ter várias imagens. Como os meus conhecimentos de javascript são ainda reduzidos não sei se isto (pelo menos como sugeri) será possível de implementar.
HappyHippyHippo Posted May 2, 2012 at 03:26 PM Report #452729 Posted May 2, 2012 at 03:26 PM tenta ser mais explicito no que queres realmente fazer ... IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
speedftw Posted May 2, 2012 at 03:40 PM Author Report #452733 Posted May 2, 2012 at 03:40 PM O aspecto final seria algo do género: Clicando nos botões as imagens fariam as mudança de estilo (posição, tamanho, transparência). Como há mais de três imagens haverá imagens escondidas num dado momento. E as imagens estariam em ciclo, isto é, clicando sempre para a esquerda as imagens que desaparecessem da esquerda iriam reaparecer na direita.
HappyHippyHippo Posted May 2, 2012 at 04:10 PM Report #452748 Posted May 2, 2012 at 04:10 PM definir as classes: - gallery - gallery_prev - gallery_current - gallery_next 1º - defines todas as imagens como invisíveis (usa a classe gallery) 2º - defines o css para as 3 classes ditas anteriormente para apresentar as imagens como pretendes jquery: function buttonNext() { var img = $(".gallery_prev"); img.removeClass("gallery_prev"); img.next().removeClass("gallery_current"); img.next().addClass("gallery_prev"); img.next().next().removeClass("gallery_next"); img.next().next().addClass("gallery_current"); img.next().next().next().addClass("gallery_next"); } para o outro botao é só usar o prev() de acordo ... IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
speedftw Posted May 2, 2012 at 07:35 PM Author Report #452796 Posted May 2, 2012 at 07:35 PM Pois, isso assim não me está a dar muito bem. Primeiro porque se definir de início as imagens com a classe gallery as funções não vão funcionar. Alterei assim. function buttonPrev() { var img = $(".gallery_prev"); img.removeClass("gallery_prev"); img.addClass("gallery"); img.next().removeClass("gallery_current"); img.next().addClass("gallery_prev"); img.next().next().removeClass("gallery_next"); img.next().next().addClass("gallery_current"); img.next().next().next().removeClass("gallery"); img.next().next().next().addClass("gallery_next"); } Depois esta função que é para a esquerda funciona bem até já não ter mais imagens (usei 4) a partir daí não aparece mais imagens e estraga o layout da página. O botão para a esquerda, com a outra função, não usa sequer as imagens que estão escondidas, penso que por não "detectar" nenhuma imagem no img.prev().prev().prev().addClass("gallery_prev");.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now