このコードはhttp://www.webdesignerdepot.com/2012/10/creating-a-modal-window-with-html5-and-css3/からいくつかの変更を加えたものです。
私の目的は、モーダル フォームを表示し、ユーザーが隅にある [x] ボタンをクリックすると閉じるか、10 秒後に自動的に閉じることです。
唯一の問題は、[x] ボタンをクリックしてもフォームを閉じることができないことです。以下のコードで何が問題になっていますか?
index.html:
<html>
<head>
<link href="style.css" rel="stylesheet">
<script src="jquery.min.js"></script>
</head>
<body>
<div id="openModal" class="modalDialog">
<div>
<a href="#close" title="Close" class="close">X</a>
Hi, this is modal form.
</div>
</div>
<script type="text/javascript">
setTimeout(function() {
$('#openModal').fadeOut('slow'); }, 10000);
</script>
</body>
</html>
スタイル.css:
.modalDialog:target {
opacity:0;
}
.modalDialog {
position: fixed;
font-family: Arial, Helvetica, sans-serif;
top: 28%;
right: 0;
bottom: 0;
left: 0;
z-index: 99999;
-webkit-transition: opacity 400ms ease-in;
-moz-transition: opacity 400ms ease-in;
transition: opacity 400ms ease-in;
}
.modalDialog > div {
width: 600px;
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; }