jQuery 是一个快速、小巧且功能丰富的 JavaScript 库,它简化了 HTML 文档遍历、事件处理、动画和 Ajax 交互。弹出框(Modal)是一种常见的用户界面元素,用于显示额外的信息或提示,通常需要用户进行交互。
jQuery 弹出框可以通过多种方式实现,常见的类型包括:
要实现一个居中的 jQuery 弹出框,可以使用 CSS 和 jQuery 来动态计算和调整弹出框的位置。以下是一个简单的示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Centered Modal</title>
<link rel="stylesheet" href="styles.css">
</head>
<body>
<button id="openModalBtn">Open Modal</button>
<div id="myModal" class="modal">
<div class="modal-content">
<span class="close-btn">×</span>
<p>This is a centered modal!</p>
</div>
</div>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script src="script.js"></script>
</body>
</html>
.modal {
display: none;
position: fixed;
z-index: 1;
left: 0;
top: 0;
width: 100%;
height: 100%;
overflow: auto;
background-color: rgba(0,0,0,0.4);
}
.modal-content {
background-color: #fefefe;
margin: auto;
padding: 20px;
border: 1px solid #888;
width: 80%;
max-width: 600px;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
.close-btn {
color: #aaa;
float: right;
font-size: 28px;
font-weight: bold;
}
.close-btn:hover,
.close-btn:focus {
color: black;
text-decoration: none;
cursor: pointer;
}
$(document).ready(function() {
var modal = $('#myModal');
var btn = $('#openModalBtn');
var span = $('.close-btn');
btn.click(function() {
modal.css('display', 'block');
centerModal();
});
span.click(function() {
modal.css('display', 'none');
});
$(window).resize(function() {
centerModal();
});
function centerModal() {
var modalContent = $('.modal-content');
var modalHeight = modalContent.outerHeight();
var modalWidth = modalContent.outerWidth();
var windowHeight = $(window).height();
var windowWidth = $(window).width();
modalContent.css({
top: (windowHeight - modalHeight) / 2,
left: (windowWidth - modalWidth) / 2
});
}
});
overflow
属性来处理内容溢出的情况。通过上述代码和解释,你应该能够实现一个居中的 jQuery 弹出框,并解决一些常见问题。
没有搜到相关的文章