在HTML5应用中加载屏幕

时间:2013-05-11 23:19:36

标签: javascript mobile mobile-safari

我正在开发一个涉及获取大量资产(css,js等)的项目(不是游戏)。在UIWebView(iOS)中打开页面时,有一个空的白页,持续3-5秒,而所有内容都被加载。

我想避免这种情况。我猜我应该添加一个HTML5加载屏幕,但我不知道该怎么做。有什么指针吗?

2 个答案:

答案 0 :(得分:1)

我会隐藏内容直到加载,并在此期间使用JS显示加载动画。

用于简单的动画结帐 Simple loading animation in HTML5 canvas

答案 1 :(得分:0)

您可以在HTML5中使用<progress>元素。有关源代码和现场演示,请参阅此页面。 http://purpledesign.in/blog/super-cool-loading-bar-html5/

这是进度元素......

<progress id="progressbar" value="20" max="100"></progress>

这将从20开始加载。当然只有元素不够。您需要在脚本加载时移动它。为此,我们需要JQuery。这是一个简单的JQuery脚本,它从0到100开始进度,并在定义的时间段内执行某些操作。

<script>
        $(document).ready(function() {
         if(!Modernizr.meter){
         alert('Sorry your brower does not support HTML5 progress bar');
         } else {
         var progressbar = $('#progressbar'),
         max = progressbar.attr('max'),
         time = (1000/max)*10, 
         value = progressbar.val();
        var loading = function() {
        value += 1;
        addValue = progressbar.val(value);
        $('.progress-value').html(value + '%');
        if (value == max) {
        clearInterval(animate);
        //Do Something
 }
if (value == 16) {
//Do something 
}
if (value == 38) {
//Do something
}
if (value == 55) {
//Do something 
}
if (value == 72) {
//Do something 
}
if (value == 1) {
//Do something 
}
if (value == 86) {
//Do something 
    }

};
var animate = setInterval(function() {
loading();
}, time);
};
});
</script>

将其添加到您的HTML文件中。

<div class="demo-wrapper html5-progress-bar">
<div class="progress-bar-wrapper">
 <progress id="progressbar" value="0" max="100"></progress>
 <span class="progress-value">0%</span>
</div>
 </div>

希望这会给你一个开始。