首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何显示加载...直到整个向导加载到jQuery-steps插件中?

如何显示加载...直到整个向导加载到jQuery-steps插件中?
EN

Stack Overflow用户
提问于 2015-12-30 20:57:24
回答 1查看 2.7K关注 0票数 1

我正在为我的向导类型表单使用jQuery-step插件。我想展示一下加载...动画,直到整个向导完全加载。在插件中为此提供了标签。我只是不知道如何启用它。

你猜对了吗?

编辑:

下面是生成向导表单的代码

代码语言:javascript
复制
$(function () {
    $("#wizard").steps({
        headerTag: "h2",
        bodyTag: "form",
        saveState: true,
        transitionEffect: "slideLeft",
        onStepChanging: function stepChange(event, currentIndex, newIndex) {
            if (currentIndex > newIndex) {
                for(i=currentIndex;i>0;i--){
                    $("#sec"+i+"override").val(true);
                }
                return true;
            }

            e=event;
            ci=currentIndex;
            ni=newIndex;
            var form = $('#wizard-p-'+currentIndex);
            form.validate().settings.ignore = ":disabled,:hidden:not('.hiddenField')";
            var res = form.valid();
            if(res) {
                var ress = form.submit();
                if(check) {
                    return true ;   
                } else {
                    popup();  
                }
            }
        },
        onFinishing: function(event, currentIndex) {
            ci=currentIndex;
            var form = $('#wizard-p-'+currentIndex);
            form.validate().settings.ignore = ":disabled,:hidden:not('.hiddenField')";
            var res = form.valid();
            if(res) {
                var ress = form.submit();
                if(check) {
                    return true;    
                } else {
                    popup();
                }
            }
        },
        onFinished: function(event, currentIndex) {
            <%
            UserDTO user = UserUtils.getLoggedInUser();
            if(user!=null){
                if(user.getIsAdmin()){
                    %>    
                        window.location = "<%=application.getContextPath()%>/projects"; 
                    <%     
                } else {
                    %>            
                    window.location = "<%=application.getContextPath()%>/home";
                    <%    
                }
            }
            %>
            $.cookie('jQu3ry_5teps_St@te_' + $( this ).data( "uid" ), '' );
        }
    });
});

现在的问题是,它工作得很好,但当加载整个表单时,它首先显示部分标题,然后加载表单,这看起来并不好。我只想展示一下加载...动画,直到整个窗体加载。

EN

回答 1

Stack Overflow用户

发布于 2016-03-14 20:58:30

如果我没弄错问题的话...表单加载稍晚于页面加载,导致用户在按步骤初始化表单之前查看表单。如果是这种情况,您可以添加一个包含加载动画的额外div,并且在页面加载时不显示表单...

代码语言:javascript
复制
<div id="loadingIcon">
    <img src="images/loading.gif"/>
</div>
<div id="wizard" style="display: none;">
    <%-- FORM HERE --%>
</div>

然后在onload函数中,隐藏加载图标并显示表单。

代码语言:javascript
复制
$(function () {
    $("#wizard").steps({
        // Steps
    });
    $('#loadingIcon').hide();
    $('#wizard').show();
});
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34530001

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档