Я имею в виду следующую ссылку:
http://netdna.webdesignerdepot.com/uploads7/creating-a-modal-window-with-html5-and-css3/demo.html
Здесь после нажатия на ссылку загружается div (модальное окно). Я пытаюсь избавиться от этой ссылки и открыть этот модальный при загрузке страницы.
Мой код выглядит следующим образом: все одинаково, за исключением того, что я добавил скрипты и удалил ссылку
<!DOCTYPE html>
<html>
<head>
<title>Modal Window</title>
<style type="text/css">
.modalDialog
{
position: fixed;
font-family: Arial, Helvetica, sans-serif;
top: 0;
right: 0;
bottom: 0;
left: 0;
background: rgba(0,0,0,0.8);
z-index: 99999;
opacity: 0;
-webkit-transition: opacity 400ms ease-in;
-moz-transition: opacity 400ms ease-in;
transition: opacity 400ms ease-in;
pointer-events: none;
}
.modalDialog:target
{
opacity: 1;
pointer-events: auto;
}
.modalDialog > div
{
width: 400px;
position: relative;
margin: 10% auto;
padding: 5px 20px 13px 20px;
border-radius: 10px;
background: #fff;
background: -moz-linear-gradient(#fff, #999);
background: -webkit-linear-gradient(#fff, #999);
background: -o-linear-gradient(#fff, #999);
}
.close
{
background: #606061;
color: #FFFFFF;
line-height: 25px;
position: absolute;
right: -12px;
text-align: center;
top: -10px;
width: 24px;
text-decoration: none;
font-weight: bold;
-webkit-border-radius: 12px;
-moz-border-radius: 12px;
border-radius: 12px;
-moz-box-shadow: 1px 1px 3px #000;
-webkit-box-shadow: 1px 1px 3px #000;
box-shadow: 1px 1px 3px #000;
}
.close:hover
{
background: #00d9ff;
}
</style>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script type="text/javascript" language="javascript">
$(document).ready(function() {
$("#openModal").show();
});
</script>
</head>
<body>
<div id="openModal" class="modalDialog">
<div>
<a href="#close" title="Close" class="close">X</a>
<h2>
Modal Box</h2>
<p>
This is a sample modal box that can be created using the powers of CSS3.</p>
<p>
You could do a lot of things here like have a pop-up ad that shows when your website
loads, or create a login/register form for users.</p>
</div>
</div>
</body>
</html>
Здесь задается аналогичный вопрос: как авто всплывать в режиме модального окна CSS3 при загрузке страниц?
Но это не помогает.
Я также попробовал следующие сценарии без везения:
$(document).ready(function() {
$("#openModal").click();
});
$(document).ready(function() {
$(".modalDialog").show();
});
Я должен делать что-то не так.
Есть идеи?
Проблема в том, что .show()
не меняет непрозрачность $("#openModal")
делать
$(document).ready(function() {
// the first arg is duration of the effect, second is the opacity to end at
$("#openModal").fadeTo(500, 1);
});
Поскольку ОП указал, что "кнопка" Кнопка отклонения "не работает
$(window).load(function(event){
$(".modalDialog").show();
})
setTimeout
вы должны избавиться от него @harsha, если вы действительно не должны его использовать.
Чтобы вызвать событие click, используйте trigger()
:
$(document).ready(function() {
$("#openModal").trigger('click');
});
как предложил @Charaf jra, вы должны вызвать щелчок с помощью:
$(document).ready(function() { $("#openModal").trigger('click'); });
с другой стороны, большинство шансов вы можете вызвать его при загрузке:
$(document).ready(function() { $(".modalDialog").modal() }
У вас непрозрачность: 0; для.modalDialog. В этом случае вам нужно использовать fadeTo вместо show.
<script type="text/javascript" language="javascript">
$(document).ready(function() {
$(".modalDialog").fadeTo(1,1);
});
</script>