[英]How to show div on page load?
I am referring to following link: 我指的是以下链接:
http://netdna.webdesignerdepot.com/uploads7/creating-a-modal-window-with-html5-and-css3/demo.html http://netdna.webdesignerdepot.com/uploads7/creating-a-modal-window-with-html5-and-css3/demo.html
Here, the div ( modal window ) is loaded after clicking on the link. 在此,单击链接后将加载div(模态窗口)。 I am trying to get rid of that link and open that modal on page load.
我试图摆脱该链接,并在页面加载时打开该模式。
My code is as follows: Everything is same except I have added scripts and removed the link 我的代码如下:除添加脚本并删除链接外,其他所有内容均相同
<!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>
Similar question is asked here: How to Auto Popup a CSS3 Modal Window When Page Loads? 这里提出类似的问题: 页面加载时如何自动弹出CSS3模式窗口?
But its not helping. 但它没有帮助。
I have also tried following scripts without any luck: 我也尝试了以下脚本,但没有任何运气:
$(document).ready(function() {
$("#openModal").click();
});
$(document).ready(function() {
$(".modalDialog").show();
});
I must be doing something wrong here. 我在这里一定做错了。
Any ideas? 有任何想法吗?
The problem is that .show()
is not changing the opacity of $("#openModal")
问题是
.show()
不会更改$("#openModal")
的不透明度
do 做
$(document).ready(function() {
// the first arg is duration of the effect, second is the opacity to end at
$("#openModal").fadeTo(500, 1);
});
As the OP pointed out the "dismiss Model Button" was not working 正如OP指出的那样,“关闭模型按钮”无效
Updated Fiddle Demostrating a working dismiss button 更新了Fiddle Demostating一个工作解雇按钮
as @Charaf jra suggested, you should trigger the click with: 如@Charaf jra建议,您应使用以下命令触发点击:
$(document).ready(function() { $("#openModal").trigger('click'); });
on the other hand, most of the chances are you can trigger it onload with: 另一方面,大多数机会是您可以通过以下方式触发它的加载:
$(document).ready(function() { $(".modalDialog").modal() }
$(window).load(function(event){
$(".modalDialog").show();
})
To trigger click event , use trigger()
: 要触发click事件,请使用
trigger()
:
$(document).ready(function() {
$("#openModal").trigger('click');
});
You have opacity: 0; 您有不透明度:0; for .modalDialog.
用于.modalDialog。 In this case you need to use fadeTo instead of show.
在这种情况下,您需要使用fadeTo而不是show。
<script type="text/javascript" language="javascript">
$(document).ready(function() {
$(".modalDialog").fadeTo(1,1);
});
</script>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.