【问题标题】:Yii2 Loading Page/Image when Bootstrap Modal is still Loading当 Bootstrap Modal 仍在加载时 Yii2 加载页面/图像
【发布时间】:2015-05-12 09:18:20
【问题描述】:

我有这个模态:

<?php
    echo Html::button(
        'Create New Staff',
        [
            'value' => Url::to(['create-new-staff']),
            'class' => 'btn btn-success btn-create',
            'id' => 'modalButton'
        ]);

    Modal::begin(['id' => 'modal']);
    echo "<div id='modalContent'></div>";     
    Modal::end();
?>  

这是我的示例加载指示器图像:

<img src="http://dkclasses.com/images/loading.gif" id="loading-indicator" style="display:none" />

当我单击模态按钮时,我想在模态仍在加载时显示加载屏幕或图像,而不是简单地等待模态加载。我试过这个:

<script type="text/javascript">
    $("modalButton").click(function(event) {
        $.post( "/echo/json/", { delay: 2 } );
        $(document).bind("ajaxSend", function(){
            $("#loading-indicator").show();
            }).bind("ajaxComplete", function(){
            $("#loading-indicator").hide();
            $("#modalContent").show();
         });
    });
</script>

我在 fiddle 中建立了该脚本。

我还尝试了我在互联网上搜索过的那些。他们都没有工作。我认为这是因为我使用的是 Yii。我不确定。我如何做到这一点?

【问题讨论】:

  • 这样的 javascript 问题如何与 Yii 相关联?
  • 什么都没有。只是一个疯狂的概念。

标签: php jquery twitter-bootstrap yii yii2


【解决方案1】:

由于模态窗口的加载主要依赖于ajax请求,你可以在它之前显示指示器并隐藏在回调中,如下所示:

...
$("#loading-indicator").show();
$.post(
    "/echo/json/",
    { delay: 2 },
    function(data) {
        ...
        $("#loading-indicator").hide();
    }
);
...

【讨论】:

  • 谢谢。但代码对我不起作用。我把你的代码放在$("modalButton").click(function(event)
  • 错误在哪里?或者指标保持不活动状态?
  • 检查元素时没有错误。当我点击按钮时,我看不到图像。
  • 检查ajax请求是否被执行以及指标的选择器是否有效。
【解决方案2】:

想通了:

$('#modalButton').click(function (){
    $('#modal').find('#modalContent').html("")
        .load($(this).attr('value'), function(){
            var thisModal = $('#modal');
            setTimeout(function(){
                thisModal.modal('show');
                $("#loading-indicator").hide();
            }, 1000);
        });
    $("#loading-indicator").show();
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多