Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 等待加载数据时在模式内旋转器_Javascript_Jquery_Css_Asp.net Mvc_Bootstrap Modal - Fatal编程技术网

Javascript 等待加载数据时在模式内旋转器

Javascript 等待加载数据时在模式内旋转器,javascript,jquery,css,asp.net-mvc,bootstrap-modal,Javascript,Jquery,Css,Asp.net Mvc,Bootstrap Modal,我有一个物品清单,每个物品都附有一个徽章。单击徽章时,它将从局部视图加载表 这是我的徽章循环: @foreach (var item in Model) { <li> <a href="#my_modal" data-toggle="modal" data-book-id="@Url.Action("AssociatedToHideout", "Hideout", new { id = item.HideoutID })">

我有一个物品清单,每个物品都附有一个徽章。单击徽章时,它将从局部视图加载表

这是我的徽章循环:

  @foreach (var item in Model)
  {
        <li>
            <a href="#my_modal" data-toggle="modal" data-book-id="@Url.Action("AssociatedToHideout", "Hideout", new { id = item.HideoutID })">
                <span class="badge-rounded bg-red">@Html.Action("TaskCount", "Hideout", new { id = @item.HideoutID })</span>                  
            </a>
            <div class="item">            
                <a href='@Url.Action("Index", "Hideout", new { id = @item.HideoutID })'>
                    <img src="~/Assets/img/database.png">
                    <span class="caption">@item.Name</span>
                </a>
            </div>

        </li>      
}
@foreach(模型中的变量项)
{
  • }
    数据书id中的URL操作将告诉我要加载哪个部分视图

    这是我的情态:

    <div class="modal" id="my_modal">
        <div class="modal-dialog">
            <div class="modal-content">
                <div class="modal-header">
                    <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span></button>
                    <h4 class="modal-title">Modal header</h4>
                </div>
                <div class="modal-body">
                </div>
                <div class="modal-footer">
                    <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
                </div>
            </div>
        </div>
    </div>  
    
    
    &时代;接近
    模态头
    接近
    
    在模式中加载它的脚本如下:

    <script>
        $('#my_modal').on('show.bs.modal', function(e) {
            var bookId = $(e.relatedTarget).data('book-id');
    
            $.get(bookId, function (data) {
                $(e.currentTarget).find('.modal-body').html(data);
            });
        });
    
        $('#my_modal').on('hidden.bs.modal', function(e) {
        $(e.currentTarget).find('.modal-body').text('');
        });
    </script>
    
    
    $('my#u model')。on('show.bs.model',function(e){
    var bookId=$(e.relatedTarget).data('book-id');
    $.get(bookId,函数(数据){
    $(e.currentTarget).find('.modal body').html(数据);
    });
    });
    $('my#u model')。on('hidden.bs.model',function(e){
    $(e.currentTarget).find('.modal body').text('');
    });
    

    问题是当我第一次加载页面时,
    .html(数据)
    有时无法立即显示,因此我希望在等待时出现一个微调器。我该怎么做呢?

    我们使用waitscreen.js。它的使用和维护非常简单。您只需显示或隐藏以下内容:

    //Show options
    waitScreen.show();
    waitScreen.show("Message");
    //Then hide
    waitScreen.hide();
    
    并将其嵌入适当的位置,即:

    $('#my_modal').on('show.bs.modal', function(e) {
        var bookId = $(e.relatedTarget).data('book-id');
        waitScreen.show();
    
        $.get(bookId, function (data) {
            $(e.currentTarget).find('.modal-body').html(data);
            waitScreen.hide();
        });
    });
    

    您还应该添加一些错误处理,因为如果出现任何错误,模式将永远不会消失…

    我们使用waitscreen.js。它的使用和维护非常简单。您只需显示或隐藏以下内容:

    //Show options
    waitScreen.show();
    waitScreen.show("Message");
    //Then hide
    waitScreen.hide();
    
    并将其嵌入适当的位置,即:

    $('#my_modal').on('show.bs.modal', function(e) {
        var bookId = $(e.relatedTarget).data('book-id');
        waitScreen.show();
    
        $.get(bookId, function (data) {
            $(e.currentTarget).find('.modal-body').html(data);
            waitScreen.hide();
        });
    });
    

    您还应该添加一些错误处理,因为如果发生任何错误,模式将永远不会消失…

    在进行ajax调用之前,您可以将一个分层gif图像设置为
    .modal body
    div的内容。当ajax调用从服务器获得响应时,它将被该响应覆盖

    $('#my_modal').on('show.bs.modal', function(e) {
        var bookId = $(e.relatedTarget).data('book-id');
        var imgUrl="https://cdnjs.cloudflare.com/ajax/libs/semantic-ui/0.16.1/images/loader-large.gif";
        var $loading = $("<img />").attr("src",imgUrl)
    
        $(e.currentTarget).find('.modal-body').html($loading);
    
        $.get(bookId, function (data) {
            $(e.currentTarget).find('.modal-body').html(data);
        });
    });
    
    $('my#u modal')。on('show.bs.modal',函数(e){
    var bookId=$(e.relatedTarget).data('book-id');
    变量imgUrl=”https://cdnjs.cloudflare.com/ajax/libs/semantic-ui/0.16.1/images/loader-large.gif";
    
    var$loading=$(“在进行ajax调用之前,您可以将一个隐藏gif图像设置为
    .modal body
    div的内容。当您的ajax调用从服务器获得响应时,它将被该响应覆盖

    $('#my_modal').on('show.bs.modal', function(e) {
        var bookId = $(e.relatedTarget).data('book-id');
        var imgUrl="https://cdnjs.cloudflare.com/ajax/libs/semantic-ui/0.16.1/images/loader-large.gif";
        var $loading = $("<img />").attr("src",imgUrl)
    
        $(e.currentTarget).find('.modal-body').html($loading);
    
        $.get(bookId, function (data) {
            $(e.currentTarget).find('.modal-body').html(data);
        });
    });
    
    $('my#u modal')。on('show.bs.modal',函数(e){
    var bookId=$(e.relatedTarget).data('book-id');
    变量imgUrl=”https://cdnjs.cloudflare.com/ajax/libs/semantic-ui/0.16.1/images/loader-large.gif";
    
    var$loading=$(“这里的技巧是
    data background=“false”style=“background color:rgba(0,0,0,0.5)”;“
    通过移除默认背景,并通过使用一些alpha设置对话框本身的背景色来创建一个虚拟背景

    <div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" data-backdrop="false" style="background-color: rgba(0, 0, 0, 0.5);">
    <div class="modal-dialog" role="document">
        <div class="modal-content">
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal"
                    aria-label="Close">
                    <span aria-hidden="true">&times;</span>
                </button>
                <h4 class="modal-title" id="myModalLabel">Modal title</h4>
            </div>
            <div class="modal-body">...</div>
            <div class="modal-footer">
                <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
                <button type="button" class="btn btn-primary">Save changes</button>
            </div>
        </div>
    </div>
    

    这里的技巧是通过移除默认背景,并通过使用一些alpha设置对话框本身的背景颜色来创建一个虚拟背景,从而
    data background=“false”style=“background color:rgba(0,0,0,0.5);”

    <div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" data-backdrop="false" style="background-color: rgba(0, 0, 0, 0.5);">
    <div class="modal-dialog" role="document">
        <div class="modal-content">
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal"
                    aria-label="Close">
                    <span aria-hidden="true">&times;</span>
                </button>
                <h4 class="modal-title" id="myModalLabel">Modal title</h4>
            </div>
            <div class="modal-body">...</div>
            <div class="modal-footer">
                <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
                <button type="button" class="btn btn-primary">Save changes</button>
            </div>
        </div>
    </div>
    

    一种解决方案是隐藏动画元素(gif)。当您单击“加载”时,将显示该元素。当调用返回时,将再次隐藏该元素。一种解决方案是隐藏动画元素(gif)。当您单击“加载”时,将显示该元素。当调用返回时,将再次隐藏该元素。