Visualizzazione dei risultati da 1 a 1 su 1

Visualizzazione discussione

  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2017
    Messaggi
    1

    problema con finestra modale da pagina esterna (solo CSS)

    Salve ragazzi.
    Sono nuovo e sto lavorando su una galleria con livelli di profondità.
    Per questo motivo ho bisogno di fare una chiamata a una pagina esterna con AJAX.
    Fin qui tutto bene, ma non riesco a capire perchè non posso chiamare a una finestra modale solo con CSS così:

    pagina1.html
    codice:
    <!DOCTYPE HTML>
    <html lang="">
    <head>
        <meta charset="UTF-8">
        <title>modal</title>
        <style>
            .modal-open {
                cursor:pointer;
                text-decoration:underline;
                color:blue;
            }
            .modal-dialog {
                position: fixed;
                font-family: Arial, Helvetica, sans-serif;
                top: 0;
                right: 0;
                bottom: 0;
                left: 0;
                background: rgba(0,0,0,0.3);
                z-index: 99999;
                opacity:0;
                color: black;
                -webkit-transition: opacity 100ms ease-in;
                -moz-transition: opacity 100ms ease-in;
                transition: opacity 100ms ease-in;
                pointer-events: none;
            }
            .modal-dialog.show {
                opacity:1;
                pointer-events: auto;
            }
            .modal-dialog div {
                width: 230px;
                position: relative;
                margin: 10% auto;
                padding: 16px 20px 21px 20px;
                border-radius: 4px;
                background: #fff;
                border: 2px white solid;
            }
            .close {
                background: black;
                color: white;
                line-height: 24px;
                position: absolute;
                right: -12px;
                text-align: center;
                top: -10px;
                width: 26px;
                text-decoration: none;
                font-weight: bold;
                border: 1px solid #666;
                border-radius: 12px;
                box-shadow: 1px 1px 3px #000;
            }    
        </style>
    </head>
        
    <body>
        Click <a id="click-me" class="modal-open" href="page2.html">here</a> to know more.
        
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
        <script>    
            
            $("#click-me").click(function (event) {
                const url = this.href;
                event.preventDefault();
                
                $.ajax({
                    type: 'POST',
                    url,
                    data,
                    success: function (data) {                               
                        console.log(data);   
                        $('#info-modal').addClass("show"); 
                    },
                    async: true
                });
                return false;
            });
    
            $(".modal-dialog .close").click(function(){
                $(this).closest(".modal-dialog").removeClass("show");
            });
        </script>
    </body>
    </html>
    pagina2.html
    codice:
    <!DOCTYPE HTML>
    <html lang="">
    <head>
        <meta charset="UTF-8">
        <title>page2</title>
    </head>
        
    <body>
        <div id="info-modal" class="modal-dialog">
            <div>
                <a href="#close" title="Close" class="close">x</a>
                <h2>Hello!</h2>
                <p>You can display any information you want here!</p>
            </div>
        </div>
    </body>
    </html>
    nello stesso modo come si farebbe da una singola pagina:
    codice:
    <!DOCTYPE HTML>
    <html lang="">
    <head>
        <meta charset="UTF-8">
        <title>modal</title>
        <!--the same style sheet-->
        <link rel="stylesheet" type="text/css" href="style.css">     
    </head>
        
    <body>
        Click <a id="click-me" class="modal-open"> here </a> to know more.
        
        <div id="info-modal" class="modal-dialog">
            <div>
                <a href="#close" title="Close" class="close">x</a>
                <h2>Hello!</h2>
                <p>You can display any information you want here!</p>
            </div>
        </div>
        
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
        <script>  
            $("#click-me").click(function () {
                
                $.ajax({
                    success: function (data) {                               
                        console.log(data);   
                        $('#info-modal').addClass("show"); 
                    },
                    async: true
                });    
            });
            
            $(".modal-dialog .close").click(function(){
                $(this).closest(".modal-dialog").removeClass("show");
            });
        </script>
    </body>
    </html>
    Grazie per l'attenzione.
    Ultima modifica di user35; 05-01-2017 a 00:16

Tag per questa discussione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.