为什么jQuery animate(width)不适用于模态框



我在页面中使用了一个模式框,如下所示:

<div id="myModal" class="modal">
<div class="modal-content">
<span class="close">&times;</span>
<p>Some text in the Modal..</p>
</div>
</div>

样式:

.modal {
display: none;
position: fixed;
z-index: 1;
padding-top: 200px;
left: 0;
top: 0;
width: 100%;
height: 100%;
overflow: auto;
}
.modal-content {
background-color: #fefefe;
margin: auto;
padding: 20px;
border: 1px solid #888;
width: 10%;
position: relative;
}
.close {
color: #aaaaaa;
float: right;
font-size: 28px;
font-weight: bold;
}

Javascript jQuery代码:

$(window).on('load',async function() {
$('#myModal').fadeIn(1500);
$('#modal-content').animate({'width': "40%"});
$('.close').on('click', async function() {
$('#myModal').slideUp();
});
});

Fiddle

但不幸的是,animate代码无法工作,最终在浏览器检查中modal-cntent的宽度为10%。

1-有人能解决这个问题吗?

2:有最好的方法打开盒子吗?

试试这个代码。

您需要使用类.modal-content而不是id#modal-content

$(window).on('load',async function() {
$('#myModal').fadeIn(1500);
$('.modal-content').animate({width: "40%"});
$('.close').on('click', async function() {
$('#myModal').slideUp();
});
});

Fiddle

最新更新