JavaScript - Ayuda con un ligthbox no logro que funcione correctamente

 
Vista:
Imágen de perfil de Oscar Enrique

Ayuda con un ligthbox no logro que funcione correctamente

Publicado por Oscar Enrique (1 intervención) el 09/09/2016 01:12:03
Estoy haciendo una pagina web de fotografía y para la galería quiero implementar un ligthbox que pase las imagenes en orden, el problema es el siguiente: al abrir la imagen que quiero visualizar los botones de atrás y siguiente pasan las imágenes en el orden correcto sin problemas pero al cerrar la ventana modal y abrir otra vez la imagen pierde completamente el orden y pasa las imagenes de manera desordenada y aun no consigo el error aqui les adjunto el link de a pagina demo y el código que utilice:

http://oscarenriquegarcia.neocities.org/riocaribe/personajes.html

codigo:

HTML

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
<!DOCTYPE html>
<html lang="es">
<head>
	<meta charset="UTF-8">
	<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
	<title>Río Caribe - Incio</title>
	<link rel="stylesheet" href="css/reset.css">
	<link rel="stylesheet" href="css/style.css">
	<link rel="stylesheet" href="fonts/style.css">
	<link href="https://fonts.googleapis.com/css?family=Bitter|Oswald:700|Roboto:300" rel="stylesheet">
	<link href="https://fonts.googleapis.com/css?family=Gloria+Hallelujah" rel="stylesheet">
	<link href="https://fonts.googleapis.com/css?family=Coming+Soon|Rock+Salt" rel="stylesheet">
 
</head>
<body id="fotos">
	<div class="container">
		<div class="control-regreso">
				<a href="galeria.html"><span class="icon-arrow-long-left"></span>Regresar a Galeria</a>
		</div>
		<div id="modal-container" class="modal-container">
		   <div id="modal-categorias" class="modal-wrapper">
					<img id="modal-img " class="modal-img">
					<div class="caption">
						<h3 id = "caption-title" class="caption-title"></h3>
						<p class= "parrafo"></p>
					</div>
			</div>
			<div class="control-da">
				<span id ="atras" class="icon-chevron-thin-left"></span>
				<span id="delante" class="icon-chevron-thin-right"></span>
			</div>
			<div class="modalboton-cerrar">
				<span id="cerrarmodal" class="icon-cross"></span>
			</div>
		</div>
		<div class="logo">
				<a href="index.html" id="logo"><h1>Rio Caribe</h1><h3>un pueblo mil colores</h3></a>
		</div>
		<header>
 
		<div class="menu_bar">
			<span class="icon-menu"></span>
		</div>
			<nav>
				<ul>
 
					<li><a href="#">inicio</a></li>
					<li><a href="#">acerca de</a></li>
					<li><a href="#">ubicación</a></li>
					<li><a href="#">galeria</a></li>
 
				</ul>
			</nav>
		</header >
 
		<section class="img-sp">
			<ul id="img-wrapper" class="img-wrapper">
				<li  class="img-items">
					<img   class="img-img" src="img/fotosprueba-01.jpg" height="600" width="900" alt="Imagen 1">
					<p>1 Lorem ipsum dolor sit amet, consectetur adipisicing elit.</p>
 
				</li>
				<li class="img-items">
					<img  class="img-img" src="img/fotosprueba-02.jpg" alt="Imagen 2">
					<p>2 Lorem ipsum dolor sit amet, consectetur adipisicing elit.</p>
 
				</li>
				<li class="img-items">
					<img  class="img-img"src="img/fotosprueba-03.jpg" alt="Imagen 3">
					<p>3 Lorem ipsum dolor sit amet, consectetur adipisicing elit.</p>
 
				</li>
				<li  class="img-items">
					<img  class="img-img" src="img/fotosprueba-04.jpg" alt="Imagen 4">
					<p>4 Lorem ipsum dolor sit amet, consectetur adipisicing elit.</p>
 
				</li>
				<li class="img-items">
					<img  class="img-img" src="img/fotosprueba-05.jpg" alt="Imagen 5">
					<p>5 Lorem ipsum dolor sit amet, consectetur adipisicing elit.</p>
 
				</li>
				<li  class="img-items">
					<img  class="img-img" src="img/fotosprueba-06.jpg" alt="Imagen 6">
					<p>6 Lorem ipsum dolor sit amet, consectetur adipisicing elit.</p>
 
				</li>
 
			</ul>
		</section>
 
		<footer>
 
		</footer>
 
			<!-- controles slider-->
 
 
 
	</div>
 
 
	<!-- Scripts -->
 
	<script type="text/javascript" src="js/jquery-3.1.0.min.js" ></script>
	<script type="text/javascript" src="js/menu.js" ></script>
	<script type="text/javascript" src="js/slider2.js" ></script>
 
 
</body>
</html>


Jquery:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
$(document).ready(function(){
  //Variables globales
  var img_active;
  var url_img;
 
  //Abrir y cerrar el lightbox
 
  $('.img-img').stop().click(function(e){
 
      url_img = $(this).attr('src');
      titulo = $(this).attr('alt');
      modal2 = document.getElementById('modal-container');
      parrafo = $(this).next().text();
 
 
      $('#modal-container #modal-categorias img').attr('src',url_img);
      $('.caption-title').html(titulo);
      $('.parrafo').html(parrafo);
      $('#modal-container').fadeIn(500);
 
      img_active = $(this);
 
 
    //BOTON SIGUIENTE
 
    $('#delante').stop().click(function(){
        ud_next_img(img_active);
    });
 
  function ud_next_img(UD_OBJEKT) {
    if($(UD_OBJEKT).parent().next().children().is('img')){
      img_active = $(UD_OBJEKT).parent().next().children('img');
      url_img= $(UD_OBJEKT).parent().next().children('img').attr('src');
      parrafo = img_active.next().text();
      titulo = img_active.attr('alt');
      $('#modal-container #modal-categorias img').attr('src',url_img);
      $('.parrafo').html(parrafo);
      $('.caption-title').html(titulo);
        console.log('if '+url_img);
        console.log('if '+img_active);
    } else {
 
      img_active = $(UD_OBJEKT).parent('li').parent('ul').children('li').first().children('img');
      url_img =  $(UD_OBJEKT).parent('li').parent('ul').children('li').first().children('img').attr('src');
      parrafo = img_active.next().text();
      titulo = img_active.attr('alt');
       $('#modal-container #modal-categorias img').attr('src',url_img);
       $('.parrafo').html(parrafo);
      $('.caption-title').html(titulo);
        console.log('else '+img_active);
      console.log('else '+url_img);
    }
  }
 
  //Boton atras
 
    $('#atras').stop().click(function(){
        ud_prev_img(img_active);
    });
 
  function ud_prev_img(UD_OBJEKT) {
    if($(UD_OBJEKT).parent().prev().children().is('img')){
 
      img_active = $(UD_OBJEKT).parent('li').prev().children('img');
      url_img= $(UD_OBJEKT).parent('li').prev().children('img').attr('src');
      parrafo = img_active.next().text();
      titulo = img_active.attr('alt');
      $('#modal-container #modal-categorias img').attr('src',url_img);
      $('.parrafo').html(parrafo);
      $('.caption-title').html(titulo);
      console.log('if '+img_active);
      console.log('if '+url_img);
    } else {
 
      img_active = $(UD_OBJEKT).parent('li').parent('ul').children('li').last().children('img');
      url_img =  $(UD_OBJEKT).parent('li').parent('ul').children('li').last().children('img').attr('src');
      parrafo = img_active.next().text();
      titulo = img_active.attr('alt');
       $('#modal-container #modal-categorias img').attr('src',url_img);
       $('.parrafo').html(parrafo);
      $('.caption-title').html(titulo);
        console.log('esle '+img_active);
        console.log('esle '+url_img);
    }
  }
 
    //CERRAR
 
      $('.modalboton-cerrar').stop().click(function(){
        $('#modal-container').fadeOut(500);
 
            url_img = undefined;
            titulo = undefined;
 
      });
 
        window.onclick = function(event) {
          if (event.target == modal2) {
            $('.modalboton-cerrar').trigger('click');
         }
    }
 
  //TECLADO FUNCIONES
 
  $(document).keyup(function(e){
    switch(e.which){
      case 37:
      $('#atras').trigger('click')
      break;
      case 39:
      $('#delante').trigger('click')
      break;
      case 27:
      $('.modalboton-cerrar').trigger('click')
      break;
    }
  })
 
  });
});
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder