Foros del Web » Programando para Internet » Jquery »

[SOLUCIONADO] Novato en Jquery

Estas en el tema de Novato en Jquery en el foro de Jquery en Foros del Web. Hola a todos, Bueno soy nuevo en jquery y estoy tratando de aprender a utilizar los efectos para crear un slide sencillo sin usar plugins, ...
  #1 (permalink)  
Antiguo 15/12/2015, 07:45
 
Fecha de Ingreso: diciembre-2015
Mensajes: 6
Antigüedad: 8 años, 4 meses
Puntos: 0
Novato en Jquery

Hola a todos,

Bueno soy nuevo en jquery y estoy tratando de aprender a utilizar los efectos para crear un slide sencillo sin usar plugins, el codigo que tengo es el siguiente:

Código:
$(document).ready(inicioeventos);
var actual = 1;

function inicioeventos(){
	var x;
	x=$('#ant');
	x.click(anterior);
	x=$('#sig');
	x.click(siguiente);
}

function siguiente(){
	var x;
	actual++;
	if (actual>3){
		actual=1;
	}
	x=$('.slide').children('img');
	x.eq(0).hide();
	x.eq(1).attr("src","slider/sl"+actual+".jpg").slideDown('slow');
	
}
el problema es que el efecto es realizado solo para la primera imagen, luego cuando hago clic cambia la imagen pero esta vez sin el efecto slideDown, debe ser por la seleccion del elemento del DOM pero no se como solucionarlo.
  #2 (permalink)  
Antiguo 15/12/2015, 08:23
 
Fecha de Ingreso: diciembre-2015
Ubicación: rosario
Mensajes: 69
Antigüedad: 8 años, 5 meses
Puntos: 5
Respuesta: Novato en Jquery

podrias colocar el codigo html?
  #3 (permalink)  
Antiguo 15/12/2015, 08:31
 
Fecha de Ingreso: diciembre-2015
Mensajes: 6
Antigüedad: 8 años, 4 meses
Puntos: 0
Respuesta: Novato en Jquery

Claro, este el html, el error esta en que cuando inserta el img vacio despues solo le cambia el atributo src, pero la solución ??

Código:
<DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8"></meta>
		<title>Bienvenido</title>
		<link rel="stylesheet" href="css/style.css"></link>
		<script type="text/javascript" src="http://code.jquery.com/jquery-1.11.0.min.js" ></script>
		<script type="text/javascript" src="scripts/slide.js"></script>
	</head>
	<body>
		<header>
			<img id="logo" src="img/img1.jpg"></img>
			<nav>
				<ul>
					<li><a href="#">Inicio</a></li>
					<li><a href="#">Item 1</a></li>
					<li><a href="#">Item 2</a></li>
					<li><a href="#">Item 3</a></li>
				</ul>
			</nav>
			<section class='slide'>
				<img src='slider/sl1.jpg'></img>
				<img id='next'></img>
				<p id="ant">Anterior</p>
				<p id="sig">Siguiente</p>
			</section>
		</header>
	</body>
</html>
  #4 (permalink)  
Antiguo 15/12/2015, 09:43
 
Fecha de Ingreso: diciembre-2015
Mensajes: 6
Antigüedad: 8 años, 4 meses
Puntos: 0
Respuesta: Novato en Jquery

Lo solucione añadiendo como parametro a la funcion fadeOut otra funcion en el callback...

Código Javascript:
Ver original
  1. $(document).ready(inicioeventos);
  2. var actual = 1;
  3. var elemento;
  4.  
  5. function inicioeventos(){
  6.     var x;
  7.     x=$('#ant');
  8.     x.click(anterior);
  9.     x=$('#sig');
  10.     x.click(siguiente);
  11.     elemento = 0;
  12. }
  13.  
  14.  
  15. function siguiente(){
  16.     var x;
  17.     x=$('.slide').children('img');
  18.     x.attr("src","slider/sl"+actual+".jpg").fadeOut('slow',mostrar);
  19.     actual++;
  20.     if (actual>3){
  21.         actual=1;
  22.     }
  23.    
  24. }
  25.  
  26. function mostrar(){
  27.     var x;
  28.     x=$('.slide').children('img');
  29.     x.attr("src","slider/sl"+actual+".jpg").fadeIn('fast');
  30. }

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:08.