Jquery ui进度条不会显示在其他元素的前面

时间:2012-08-14 10:49:35

标签: asp.net visual-studio-2010 jquery-ui progress-bar

我正在使用JQuery UI 1.8.20,asp.net 4.0,VS 2010和

在加载数据以填充某些列表时,我在所有其他标记元素前显示进度条时出现问题。

我的html标记基本上就是这个(splitDocumentProgressbar是进度条):

<div id="mainCategorizerContainer">
    <div id="uncategorizedArea" class="uncategorized-area">        
        <ul id="uncategorizedPagesList" class="gallery ui-helper-reset ui-widget ui-helper-clearfix uncategorized-document-pages-list-area uncategorizedPages">                   
        </ul>        
    </div>
    <div id="categorizedArea" class="categorized-area">
        <ul id="documentCategoryList" class="document-category-list-area ui-helper-reset">                                      
        </ul>
        <ul id="categorizedDocumentPagesList" class="categorized-document-pages-list-area ui-helper-reset" >                       
        </ul>
    </div>
    <div id="splitDocumentProgressbar" style="width: 20%;"></div>
    <div id="splitDocumentDialog"><span id="splitDocumentDialogContent"></span></div>
</div>

填充一个列表并更新进度条的javascript(此代码位于我编写的外部javascript文件中,此文件在定义了标记的aspx中引用):

var initializeUncategorizedPagesList = function (data) {
    var listItems = [];

    var progressBarSteps = data.DocumentPages.length;
    showProgressBar(true);

    $.each(data.DocumentPages, function (index, documentPage) {

        updateProgressBar(progressBarSteps, index);

        var headerClass = $.validator.format('<h5 class="ui-widget-header">{0}</h5>', documentPage.Title);
        var image = $.validator.format('<img src="Handlers/ImageHandler.ashx?docid={0}&variantid={1}" alt="{2}"/>', documentPage.DocumentId, documentPage.ThumbVariantId, documentPage.Title);
        var imageUrl = $.validator.format('<a href="Handlers/ImageHandler.ashx?docid={0}&variantid={1}" title="Forstørr bilde" class="ui-icon ui-icon-zoomin">Forstørr bilde</a>', documentPage.DocumentId, documentPage.HoverVariantId, documentPage.Title);
        var listClass = $.validator.format('<li id="uncategorizedPage{0}" class="ui-widget-content ui-corner-tr">{1} {2} {3}</li>', documentPage.DocumentId, headerClass, image, imageUrl);

        listItems.push(listClass);
    });

    pub.UncategorizedPagesList.append(listItems.join(''));
    showProgressBar(false);
};


var updateProgressBar = function (progressBarStep, index) {

    //If this is true, the progressbar property is not set
    if (pub.Progressbar === "Progressbar") {
        return;
    }

    if (progressBarStep === 0) {
        return;
    }

    var progressBarValue = (100 / progressBarStep) * (index + 1);

    pub.Progressbar.progressbar({
        value: progressBarValue
    });
};

// Show/hide the progress bar and will also reset the progress bar
var showProgressBar = function (show) {

    if (show === true) {
        updateProgressBar(1, -1);
        pub.Progressbar.show();
    }
    else {
        pub.Progressbar.hide();
    }
};

进度条有效。我知道这一点,因为当我调试我的javascript代码时,我可以看到显示进度条并且值增加了。但对我而言,当我在没有调试的情况下运行代码时,进度条似乎隐藏在ui的其余部分后面。

你有什么提示和技巧可以与我分享吗?

1 个答案:

答案 0 :(得分:0)

尝试这样:

    <div id="splitDocumentProgressbar" style="width: 20%;"></div>
    <div id="mainCategorizerContainer">
        <div id="uncategorizedArea" class="uncategorized-area">
            <ul id="uncategorizedPagesList" class="gallery ui-helper-reset ui-widget ui-helper-clearfix uncategorized-document-pages-list-area uncategorizedPages"></ul>
        </div>
        <div id="categorizedArea" class="categorized-area">
            <ul id="documentCategoryList" class="document-category-list-area ui-helper-reset"></ul>
            <ul id="categorizedDocumentPagesList" class="categorized-document-pages-list-area ui-helper-reset" ></ul>
        </div>
        <div id="splitDocumentDialog">
            <span id="splitDocumentDialogContent"></span>
        </div>
    </div>

您的进度条应显示在代码上方,如果不是,则表示问题已在进度条中显示。

相关问题