Ver Mensaje Individual
  #4 (permalink)  
Antiguo 11/03/2015, 12:08
Avatar de fede5426
fede5426
 
Fecha de Ingreso: diciembre-2014
Ubicación: Córdoba
Mensajes: 446
Antigüedad: 9 años, 4 meses
Puntos: 208
Respuesta: Problema Basico - jQuery+CSS

Código Javascript:
Ver original
  1. $(".contenedor").mouseover(function(){
  2. $(".grow").each(function(i){
  3. $(this).css({
  4. "transform": "scale(1.2)",
  5. "opacity":"1",
  6. });
  7. });

Lo que yo veo ahí es que son todas clases, no hay ningún identificador.. Si duplicas el div y le dejas la misma clase también te va a afectar a ese elemento.

Leída, la función dice:

Para cada ".grow" que este dentro de un elemento con la clase ".contenedor", cuando el cursor se posicione sobre este ultimo, aplica los siguientes estilos. Así que al duplicar el elemento también va a recibir la función porque también tiene la clase "contenedor".

No tiene nada de malo usar id's, y es útil en determinadas situaciones.. Si necesitas reutilizar la funcion, entonces quitale la clase al nuevo elemento.

En el caso de que la clase "contenedor" contenga los estilos en CSS para la caja.. podes asignarles a cada div una segunda clase que va a ser la que utilice Jquery.. así le asignarías dicha clase solo a los elementos que querés que afecte la función.

Por ejemplo..

.contenedor tiene los estilos para las cajas.
.agrandar es el que vas a llamar con la función.

Entonces el html quedaria asi:

Código HTML:
Ver original
  1. <div class="contenedor agrandar">
  2. <p class="texto">NATURALEZA</p>
  3. <img class="grow" src="img/01.jpg">
  4. </div>
  5. <div class="contenedor">
  6. <p class="texto">OTROTEXTO</p>
  7. <img class="grow" src="img/otraimagen.jpg">
  8. </div>
  9. </body>

Y el script:

Código Javascript:
Ver original
  1. $(".agrandar").mouseover(function(){
  2. $(".grow").each(function(i){
  3. $(this).css({
  4. "transform": "scale(1.2)",
  5. "opacity":"1",
  6. });
  7. });


Así la función solo se aplicaría a los elementos con la clase "agrandar" y podes reutilizar la función para todos los elementos que necesites solamente asignándoles la clase "agrandar", por mas que ésta no tenga asignados estilos CSS.

No se en que contexto estarás aplicando este código, quizás viendo algún ejemplo online te puedo ayudar mejor.. Con lo que entendí, esto es lo único que puedo aportar, disculpame si no es lo que necesitas.

Aún así, espero haberme explicado bien y que te sirva!

Saludoss