All Components

ProgressBar / Vertical ProgressBar

Loading styles

Loaded: 0%
Item 1 of 4

HTML5/JavaScript 源码

<!DOCTYPE html>
<html>
 <head> 
  <title>Vertical ProgressBar</title> 
  <meta charset="utf-8"> 
  <link href="../content/shared/styles/examples-offline.css" rel="stylesheet"> 
  <link href="../../styles/kendo.common.min.css" rel="stylesheet"> 
  <link href="../../styles/kendo.rtl.min.css" rel="stylesheet"> 
  <link href="../../styles/kendo.default.min.css" rel="stylesheet"> 
  <link href="../../styles/kendo.dataviz.min.css" rel="stylesheet"> 
  <link href="../../styles/kendo.dataviz.default.min.css" rel="stylesheet"> 
  <script src="../../js/jquery.min.js"></script> 
  <script src="../../js/kendo.all.min.js"></script> 
  <script src="../content/shared/js/console.js"></script> 
  <script>
        
    </script> 
 </head> 
 <body> 
  <a class="offline-button" href="../index.html">Back</a> 
  <div id="example"> 
   <div class="demo-section k-content"> 
    <div class="loading"> 
     <div id="totalProgressBar"></div> 
     <div id="loadingProgressBar"></div> 
    </div> 
    <div class="loadingInfo"> 
     <h4>Loading styles</h4> 
     <div class="statusContainer"> 
      <p> Loaded: <span class="loadingStatus">0%</span> <br> Item <span class="chunkStatus">1</span> of 4 </p> 
     </div> 
     <button class="k-button reloadButton">Reload</button> 
    </div> 
   </div> 
   <script>
        $(document).ready(function () {
            $("#totalProgressBar").kendoProgressBar({
                type: "chunk",
                chunkCount: 4,
                min: 0,
                max: 4,
                orientation: "vertical",
                complete: onTotalComplete
            });

            $("#loadingProgressBar").kendoProgressBar({
                orientation: "vertical",
                showStatus: false,
                animation: false,
                change: onChange,
                complete: onComplete
            });

            load();
        });

        function onChange(e) {
            $(".loadingStatus").text(e.value + "%");
        }

        function onComplete(e) {
            var total = $("#totalProgressBar").data("kendoProgressBar");
            total.value(total.value() + 1);

            if (total.value() < total.options.max) {
                $(".chunkStatus").text(total.value() + 1);
                $(".loadingInfo h2").text("Loading " + itemsToLoad[total.value()]);

                load();
            }
        }

        function onTotalComplete(e) {
            $(".loadingInfo h2").text("All items loaded");
            $(".statusContainer").hide();
            $(".reloadButton").show();
        }

        function load() {
            var pb = $("#loadingProgressBar").data("kendoProgressBar");
            pb.value(0);

            var interval = setInterval(function () {
                if (pb.value() < 100) {
                    pb.value(pb.value() + 1);
                } else {
                    clearInterval(interval);
                }
            }, 30);
        }

        $(".reloadButton").click(function () {
            $(this).hide();
            $(".statusContainer").show();

            $("#totalProgressBar").data("kendoProgressBar").value(0);
            $("#loadingProgressBar").data("kendoProgressBar").value(0);
            $(".loadingInfo h2").text("Loading " + itemsToLoad[0]);
            $(".chunkStatus").text(1);

            load();
        });

        var itemsToLoad = ["styles", "scripts", "images", "fonts"];
    </script> 
   <style>
        .demo-section {
            overflow: auto;
        }
        .k-progressbar
        {
            width: 8px;
            height: 100px;
        }
        
        #loadingProgressBar
        {
            margin-left: 10px;
        }
        
        .loading
        {
            float: left;
        }
        .loadingInfo
        {
            float: left;
            margin: 20px 0 0 30px;
        }

        .reloadButton
        {
            display: none;
            margin-top: 10px;
        }
    </style> 
  </div>   
 </body>
</html>