CSS - ventana modal (solo css) con ajax

 
Vista:
sin imagen de perfil
Val: 1
Ha aumentado su posición en 14 puestos en CSS (en relación al último mes)
Gráfica de CSS

ventana modal (solo css) con ajax

Publicado por Nicolás (1 intervención) el 31/12/2016 14:52:34
Necesito mostrar el contenido de manera modal con código css a través de una petición ajax. Actualmente tengo en mi documento una página que envía una petición Ajax para mostrar el contenido de la otra página.
He intentado agregando una clase con jquery cuando se hace esta petición, cambiando los atributos en css a esta nueva clase para hacer la transición, pero no funciona.
¿Alguien me puede ayudar?
modal.css
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
.modalDialog {
	position: fixed;
        top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background: rgba(0,0,0,0.8);
	z-index: 99999;
	opacity:0;
	pointer-events: none;
}
 
.modalDialog.open {
	opacity:1;
	pointer-events: auto;
}

pagina1.php
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
<!DOCTYPE HTML>
<html lang="">
    <head>
        <meta charset="UTF-8">
        <title>pagina1</title>
        <link rel="stylesheet" href="modal.css" />
    </head>
 
<body>
    <div class="content">
        <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam felis mi, pellentesque at scelerisque eu, consectetur quis felis. Aliquam mollis</p>
    </div>
 
    <!--almaceno variable con atributo data-var para petición ajax-->
    <a class="gallery" href="pagina2.php" data-var="imagenes">
        VENTANA MODAL
    </a>
 
    <!--contenedor para ventana modal-->
    <div id="openModal" class="modalDialog">
        <div>
            <h2>Modal Box</h2>
            <p>This is a sample modal box that can be created using the powers of CSS3.</p>
            <div class="img"></div>
        </div>
    </div>
 
    <!--petición ajax-->
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
    <script>
        $('.gallery').click(function (event) {
            $('#openModal').addClass('.open');
            const data = this.dataset;
            const url = this.href;
            event.preventDefault();
 
            $.ajax({
                type: 'POST',
                url,
                data,
                success (data) {
                    $('.img').html(data);
                }
            });
 
            return false;
 
        });
    </script>
</body>
</html>

pagina2.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<!DOCTYPE HTML>
<html lang="">
<head>
    <meta charset="UTF-8">
    <title>pagina2</title>
</head>
 
<body>
    <?php
    //tomo variable de pagina1.php     
    $dir = $_POST['var'];
    //funcion glob para leer imágenes de directorio    
    foreach(glob($dir . "/" . '*.jpg') as $image) {
        echo '<img src="'.$image.'" height=240>';
    }
    ?>
</body>
</html>
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