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

Why jQuery animate(width) not working for modal box?

我在我的页面中使用模态框如下:

<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;
}

JavascriptjQuery代码:

$(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:有没有最好的弹框方式?

试试这个代码。

您需要使用 class .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