Mi DOM se ve así:
<div id="d1">
<div class="c1">
<a href="#"><img src="img1_on.gif"></a>
<a href="#"><img src="img2_on.gif"></a>
</div>
</div>
Cuando alguien hace clic en una imagen, quiero que la imagen src cambie a <img src="imgx_off.gif">
donde x
representa el número de imagen 1 o 2.
¿Es esto posible o tengo que usar CSS para cambiar las imágenes?
javascript
jquery
image
usuario67033
fuente
fuente
19th July, 2016 15:39 PM
, el recuento de votos a favor 369 y @jonstjohn el recuento de votos a favor 931 . Pero, qué mala suerte, @OP no inició sesión despuésFeb 17 '09 at 2:57
.:(
Y, @jonstjohn La respuesta permanece sin marcar .Respuestas:
Puede usar la función attr () de jQuery . Por ejemplo, si su
img
etiqueta tiene unid
atributo de 'my_image', haría esto:Luego puede cambiar el aspecto
src
de su imagen con jQuery de esta manera:Para adjuntar esto a un
click
evento, puede escribir:Para rotar la imagen, puede hacer esto:
fuente
Uno de los errores comunes que comete la gente cuando cambia la fuente de la imagen no es esperar a que la carga de la imagen realice acciones posteriores, como el tamaño de la imagen en maduración, etc. Deberá usar el
.load()
método jQuery para hacer cosas después de la carga de la imagen.Motivo de la edición: https://stackoverflow.com/a/670433/561545
fuente
Para más información. Intento configurar el atributo src con el método attr en jquery para la imagen del anuncio usando la sintaxis, por ejemplo:
$("#myid").attr('src', '/images/sample.gif');
Esta solución es útil y funciona, pero si cambia la ruta, cambie también la ruta de la imagen y no funcione.
Estoy buscando resolver este problema pero no encontré nada.
La solución es poner el '\' al comienzo del camino:
$("#myid").attr('src', '\images/sample.gif');
Este truco es muy útil para mí y espero que sea útil para otros.
fuente
SI no solo hay jQuery u otros marcos de destrucción de recursos, muchos kb para descargar cada vez por cada usuario solo por un simple truco, sino también JavaScript nativo (!):
Esto se puede escribir en general y más elegante:
fuente
Le mostraré cómo cambiar la imagen
src
, de modo que cuando haga clic en una imagen, rote a través de todas las imágenes que están en su HTML (en sud1
identificación yc1
clase específicamente) ... ya sea que tenga 2 o más imágenes en su HTML .También le mostraré cómo limpiar la página una vez que el documento esté listo, de modo que inicialmente solo se muestre una imagen.
El código completo
La caida
Cree una copia de los enlaces que contienen las imágenes (nota: también puede utilizar el atributo href de los enlaces para agregar funcionalidad ... por ejemplo, mostrar el enlace de trabajo debajo de cada imagen ):
Verifique cuántas imágenes había en el HTML y cree una variable para rastrear qué imagen se muestra:
Modifique el HTML del documento para que solo se muestre la primera imagen. Eliminar todas las otras imágenes.
Enlace una función para manejar cuando se hace clic en el enlace de la imagen.
El corazón del código anterior está usando
++$imgShow % $length
para recorrer el objeto jQuery que contiene las imágenes.++$imgShow % $length
primero aumenta nuestro contador en uno, luego modifica ese número con cuántas imágenes hay. Esto mantendrá el índice resultante cambiando de0
alength-1
, que son los índices del$images
objeto. Esto significa que este código funcionará con 2, 3, 5, 10 o 100 imágenes ... recorriendo cada imagen en orden y reiniciando en la primera imagen cuando se alcanza la última imagen.Además,
.attr()
se utiliza para obtener y establecer el atributo "src" de las imágenes. Para elegir elementos entre el$images
objeto, configuro$images
como el contexto jQuery usando el formulario$(selector, context)
. Luego uso.eq()
para elegir solo el elemento con el índice específico que me interesa.Ejemplo de jsFiddle con 3 imágenes
También puede almacenar los
src
s en una matriz.Ejemplo de jsFiddle con 3 imágenes
Y aquí se explica cómo incorporar los hrefs de las etiquetas de anclaje alrededor de las imágenes:
ejemplo de jsFiddle
fuente
Espero que esto pueda funcionar
fuente
Debería agregar el atributo id a su etiqueta de imagen, así:
entonces puede usar este código para cambiar la fuente de las imágenes:
fuente
También puede hacer esto con jQuery de esta manera:
Puede tener una condición si hay múltiples estados para la fuente de la imagen.
fuente
Tuve el mismo problema al intentar llamar al botón re captcha. Después de algunas búsquedas, ahora la siguiente función funciona bien en casi todos los navegadores famosos (Chrome, Firefox, IE, Edge, ...):
'theUrl' se usa para representar una nueva imagen de captcha y puede ignorarse en su caso. El punto más importante es generar una nueva URL que obligue a FF e IE a volver a procesar la imagen.
fuente
Cambiar la fuente de la imagen usando jQuery
click()
elemento:
código:
fuente
fuente
Hoy tengo la misma maravilla que hice de esta manera:
fuente
Esta es una forma garantizada de hacerlo en Vanilla (o simplemente Pure) JavaScript:
fuente
Solo una adición, para hacerlo aún más pequeño:
fuente
No hay forma de cambiar la fuente de la imagen con CSS.
La única forma posible es usar Javascript o cualquier biblioteca de Javascript como jQuery .
Lógica-
Las imágenes están dentro de un div y no hay
class
oid
con esa imagen.Entonces la lógica será seleccionar los elementos dentro del lugar
div
donde se ubican las imágenes.Luego seleccione todos los elementos de imágenes con loop y cambie la imagen src con Javascript / jQuery .
Código de ejemplo con salida de demostración
fuente