【问题标题】:Modal Shows but Won't Hide模态显示但不会隐藏
【发布时间】:2018-06-20 20:01:07
【问题描述】:

每当页面加载时,我的母版页上都有以下模式作为带有旋转 gif 的加载消息。

<div id="divModal" class="modal fade" role="dialog">
        <div id="divModalDialog" class="modal-dialog">
            <div id="divModalContent" class="modal-content" style="text-align: center;">
                <div id="divModalBody" class="modal-body">
                    <img src="/Images/Loading.gif" width="200" alt="Loading..." />
                    <div id="divMessage" style="margin-top: 10px">
                        <b>Please Wait...</b>
                    </div>
                </div>
            </div>
        </div>
    </div>

我正在使用以下脚本来尝试显示和隐藏模式。

<script type="text/javascript">
        function showModal() {
            $('#divModal').modal('show');
        }

        function hideModal() {
            $('#divModal').modal('hide');
        }

        $(document).ready(showModal());
        window.onload = hideModal();
    </script>

在 document.ready 中显示模式可以正常工作。但是当页面上的所有内容加载完成时,通常大约 5 秒,我希望模态消失。根据我的阅读,将隐藏模式函数放在 window.onload 中应该可以工作,但事实并非如此。页面开始加载后,我的模式会立即弹出,但会无限期地旋转。

我在正文结束之前拥有这两个功能,因为它似乎是显示模态功能起作用的唯一位置。我什至在每个函数中都放置了警报和控制台日志,以确保它们以正确的顺序触发,而且它们确实如此。他们开火时我也没有收到任何错误。但是隐藏并没有隐藏模态。有谁知道为什么会这样?

编辑:我已经让 hideModel() 通过将模型包装在 setTimeout() 中来实际隐藏模型。

window.onload = setTimeout("hideModal()", 1000);

但是,无论页面是否完成加载,无论第二个参数有多长,它都会立即隐藏模式。

【问题讨论】:

  • 您使用的是什么类型的库。 jQuery does not have 一个模态函数。如果从控制台调用 showModal() 和 hideModal() 会发生什么?
  • 我正在使用 jQuery 和 Bootstrap。如果我从控制台使用 hideModal(),它会隐藏模式。 showModal() 也可以正常工作。

标签: javascript jquery webforms bootstrap-modal onload


【解决方案1】:

要隐藏引导模式,请使用$('#divModal').modal('toggle');

【讨论】:

    【解决方案2】:

    我终于想出了一个解决方案,所以希望如果有人看到这篇文章,它会帮助他们。这是之前在另一个页面上实现的东西,但我必须对其进行一些调整才能使其正常工作。

    在文档准备功能中,我把这个作为确认按钮放在 ID 为 btnEditAddress 的模态框上:

    $('#' + '<%=btnEditAddress.ClientID%>').attr('onclick',
    "$('.modal').modal('hide');setTimeout(function(){" + $(this).prop('href') + "}, 50);");
    

    我仍然不确定为什么我尝试过的其他方法都不起作用。

    【讨论】:

      猜你喜欢
      • 2021-12-28
      • 2017-07-13
      • 1970-01-01
      • 2015-11-17
      • 2014-04-23
      • 2015-12-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多