Member 13339398 Ответов: 1

Как сделать диалоговое окно отзывчивым ?


Я создал диалоговое окно на своей целевой странице, которое всплывает, когда страница загружается только один раз, но я не могу сделать его отзывчивым. Я попробовал установить минимальную ширину и максимальную ширину, но это не поможет. Что я должен попробовать?

Что я уже пробовал:

#mask {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 9000;
  background-color: #000;
  display: none;
}

#boxes .window {
  position: absolute;
  left: 0;
  top: 0;
  width: 440px;
  height: 200px;
  display: none;
  z-index: 9999;
  padding: 20px;
  border-radius: 15px;
  text-align: center;
}

#boxes #dialog {
  width: 750px;
  height: 300px;
  padding: 10px;
  background-color: #ffffff;
  font-family: 'Segoe UI Light', sans-serif;
  font-size: 15pt;
}

#popupfoot {
  font-size: 16pt;
  position: absolute;
  bottom: 0px;
  width: 250px;
  left: 250px;
}


// Это Jquery.
$(document).ready(function() {	

 //if the cookie hasLaunch is not set, then show the modal window
    if (!readCookie('hasLaunch')) {
        //launch it
        launchWindow('#dialog');        
        //then set the cookie, so next time the modal won't be displaying again.
        createCookie('hasLaunch', 1, 1);
    }

	
	
//if close button is clicked
$('.window .close').click(function (e) {
//Cancel the link behavior
e.preventDefault();

$('#mask').hide();
$('.window').hide();
});

});

function createCookie(name,value,days) {
    if (days) {
        var date = new Date();
        date.setTime(date.getTime()+(days*24*60*60*1000));
        var expires = "; expires="+date.toGMTString();
    }
    else var expires = "";
    document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
    var nameEQ = name + "=";
    var ca = document.cookie.split(';');
    for(var i=0;i < ca.length;i++) {
        var c = ca[i];
        while (c.charAt(0)==' ') c = c.substring(1,c.length);
        if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
    }
    return null;
}

function launchWindow(id) {

        //Get the screen height and width
        var maskHeight = $(document).height();
        var maskWidth = $(window).width();

        //Set heigth and width to mask to fill up the whole screen
        $('#mask').css({'width':maskWidth,'height':maskHeight});

        //transition effect     
        $('#mask').fadeIn(500);    
        $('#mask').fadeTo("slow",0.9);  

        //Get the window height and width
        var winH = $(window).height();
        var winW = $(window).width();

        //Set the popup window to center
        $(id).css('top',  winH/2-$(id).height()/2);
        $(id).css('left', winW/2-$(id).width()/2);

        //transition effect
        $(id).fadeIn(2000); 


}


// это html-код
  <div id="boxes">
  <div id="dialog" class="window">
    Welcome to GospelBox!!!
    <div id="popupfoot"> <a href="/content/about.html">  Okay </a> | <a  class="close" style="color:red;" href="#" >Skip this step </a> </div>
  </div>
  <div id="mask"></div>
</div>

1 Ответов

Рейтинг:
11

Zahid Mughal

Почему бы вам не использовать встроенное в bootstrap отзывчивое диалоговое окно, например #modal и многие другие. Низкая стоимость и высокая эффективность, я бы рекомендовал вам работать дальше.


Member 13339398

Я попробовал bootstrap modal, но он не работает, я даже включил bootstrap скрипты и css. Что же мне делать?

[no name]

Вы также должны включить JQuery и Bootstrap.js файлы для модальных файлов см. по следующей ссылке и сравните свой код с кодом по этой ссылке.

[no name]

https://www.w3schools.com/bootstrap/bootstrap_modal.asp
Надеюсь, что это сработает....
Не забудьте отметить мой хороший рейтинг. :)

Member 13339398

Спасибо за помощь, на самом деле я использовал предыдущую версию bootstrap