@gloribus

Нужно создавать много разных модальных окон?

Нужно создавать много разных модальных окон? Или можно как-то передавать содержимое из кнопки?
  • Вопрос задан
  • 492 просмотра
Решения вопроса 1
sabramovskikh
@sabramovskikh
Смотря для чего, какие модальные окна. Если идентичные то можно и по кнопке передавать
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
m77x
@m77x
Консультант
можно в модальное окно передать содержимое iframe
<a href="#feedback" onclick="javascript: loadFrame('/create/')" title="Кнопка регистрации"><button>Создать аккаунт</button></a>

href="#feedback" вызов модального окна
loadFrame загрузка фрейма
<script type="text/javascript">
function loadFrame(url) {
	var container = document.getElementById("my");
	if ((container)&&(typeof(container))!==undefined) {
		container.innerHTML = '<iframe src=' + url + ' width="800px" height="526"  frameborder="no" scrolling-x="yes">'+'</iframe>';
	}
}
</script>

скрипт загружает фрейм

<!-- Модальное окно -->
        <a name="#x" class="wincase" id="feedback"></a>
        <div class="modal">
		<div border="0" scrolling="no" width="100%" height="526px" id="my"></div>
        <a class="close" title="Закрыть" href="" onclick="document.location.reload()"></a>
        </div>


под него CSS:
.wincase {
    background-color: rgba(0, 0, 0, 0.7);
    bottom: 0;
    cursor: default;
    left: 0;
    opacity: 0;
    position: fixed;
    right: 0;
    top: 0;
    visibility: hidden;
    z-index: 11;
    -webkit-transition: opacity .5s;
    -moz-transition: opacity .5s;
    -ms-transition: opacity .5s;
    -o-transition: opacity .5s;
    transition: opacity .5s;
}
.wincase:target {
    visibility: visible;
    opacity: 1;
}

.modal {
    background-color: #fff;
    border: 3px solid #fff;
    display: inline-block;
    left: 50%;
    opacity: 0;
    padding: 10px;
    position: fixed;
    text-align: justify;
    font: 14px Helvetica, Arial, Sans-Serif;
    top: 40%;
    visibility: hidden;
    z-index: 100;
 
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
 
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    -ms-border-radius: 10px;
    -o-border-radius: 10px;
    border-radius: 10px;
 
    -webkit-box-shadow: 0 1px 1px 2px rgba(0, 0, 0, 0.4) inset;
    -moz-box-shadow: 0 1px 1px 2px rgba(0, 0, 0, 0.4) inset;
    -ms-box-shadow: 0 1px 1px 2px rgba(0, 0, 0, 0.4) inset;
    -o-box-shadow: 0 1px 1px 2px rgba(0, 0, 0, 0.4) inset;
    box-shadow: 0 1px 1px 2px rgba(0, 0, 0, 0.4) inset;
 
    -webkit-transition: opacity .5s, top .5s;
    -moz-transition: opacity .5s, top .5s;
    -ms-transition: opacity .5s, top .5s;
    -o-transition: opacity .5s, top .5s;
    transition: opacity .5s, top .5s;
}
.wincase:target+.modal {
    top: 50%;
    opacity: 1;
    visibility: visible;
}

.close {
    background-color: rgba(0, 0, 0, 0.8);
    border: 2px solid #ccc;
    height: 24px;
    line-height: 24px;
    position: absolute;
    right: -13px;
    font-weight: bold;
    text-align: center;
    text-decoration: none;
    top: -15px;
    width: 24px;
    -webkit-border-radius: 15px;
    -moz-border-radius: 15px;
    -ms-border-radius: 15px;
    -o-border-radius: 15px;
     border-radius: 15px;
    -moz-box-shadow: 1px 1px 3px #000;
    -webkit-box-shadow: 1px 1px 3px #000;
    box-shadow: 1px 1px 3px #000;
}
.close:before {
    color: rgba(255, 255, 255, 0.9);
    content: "X";
    font-size: 14px;
    text-shadow: 0 -1px rgba(0, 0, 0, 0.9);
}
.close:hover {
    background-color: rgba(64, 128, 128, 0.8);
}
.modal p, .modal div {
    margin-bottom: 10px;
}


вместо iframe правильнее включить
<object type="text/html" data="ссылка" width="100%" height="700">
                        <PARAME name=scrolling value=auto>
                        <PARAME name=frameborder value=0>
</object>

но не в каждом случае срабатывает
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы