Ответы пользователя по тегу JavaScript
  • Как создать много popup на странице?

    @UncleMisha Автор вопроса
    slo_nik, В общем решил так:
    <div id="zvonok" class="modal_div">
    				<span class="modal_close"><svg viewBox="0 0 20 20">
    					<path fill="#000000" d="M15.898,4.045c-0.271-0.272-0.713-0.272-0.986,0l-4.71,4.711L5.493,4.045c-0.272-0.272-0.714-0.272-0.986,0s-0.272,0.714,0,0.986l4.709,4.711l-4.71,4.711c-0.272,0.271-0.272,0.713,0,0.986c0.136,0.136,0.314,0.203,0.492,0.203c0.179,0,0.357-0.067,0.493-0.203l4.711-4.711l4.71,4.711c0.137,0.136,0.314,0.203,0.494,0.203c0.178,0,0.355-0.067,0.492-0.203c0.273-0.273,0.273-0.715,0-0.986l-4.711-4.711l4.711-4.711C16.172,4.759,16.172,4.317,15.898,4.045z"></path>
    				</svg></span>
    				<!-- тут кoд -->
    				<div class="download_form">
    					<form enctype="multipart/form-data" method="post" id="form">
    						<h1>Заказать бесплатный звонок</h1>
    						<p>заполните форму и мы перезвоним вам в течение 5 мин</p>
    						<input type="hidden" name="form_subject" value="Клиент заказал бесплатный звонок">
    						<input type="text" name="name" placeholder="Ваше имя" required><br>
    						<input type="text" name="phone" placeholder="Контактный телефон"><br>
    						<button type="submit" class="btn btn-success">Заказать бесплатный звонок</button>
    					</form>
    				</div>
    			</div>
    			<div id="overlay"></div>

    CSS:
    #dovnoload, #zvonok {
    	border-radius: 10px;
    	background: #fff;
    	position: absolute;
    	left: 50%;
    	top: 50%;
    	transform: translate(-50%,-50%);
    	display: none;
    	z-index: 5;
    	padding: 20px 30px;
    }
    #dovnoload .modal_close, #zvonok .modal_close {
    	width: 21px;
    	height: 21px;
    	position: absolute;
    	top: 10px;
    	right: 10px;
    	cursor: pointer;
    	display: block;
    }
    #overlay {
    	z-index:3; 
    	position:fixed;
    	background-color:#000; 
    	opacity:0.8;
    	-moz-opacity:0.8; 
    	filter:alpha(opacity=80);
    	width:100%; 
    	height:100%; 
    	top:0; 
    	left:0;
    	cursor:pointer;
    	display:none; 
    }

    JS:
    $(document).ready(function() { // зaпускaем скрипт пoсле зaгрузки всех элементoв
        /* зaсунем срaзу все элементы в переменные, чтoбы скрипту не прихoдилoсь их кaждый рaз искaть при кликaх */
        var overlay = $('#overlay'); // пoдлoжкa, дoлжнa быть oднa нa стрaнице
        var open_modal = $('.open_modal'); // все ссылки, кoтoрые будут oткрывaть oкнa
        var close = $('.modal_close, #overlay'); // все, чтo зaкрывaет мoдaльнoе oкнo, т.е. крестик и oверлэй-пoдлoжкa
        var modal = $('.modal_div'); // все скрытые мoдaльные oкнa
    
         open_modal.click( function(event){ 
             event.preventDefault(); 
             var div = $(this).attr('href'); 
             overlay.fadeIn(400, 
                 function(){
                     $(div)
                         .css('display', 'block') 
                         .animate({opacity: 1, top: '50%'}, 200);
             });
         });
    
         close.click( function(){
                modal 
                 .animate({opacity: 0, top: '45%'}, 200, 
                     function(){ 
                         $(this).css('display', 'none');
                         overlay.fadeOut(400); 
                     }
                 );
         });
    });
    Ответ написан
    Комментировать