【发布时间】:2016-02-16 15:01:30
【问题描述】:
我有一个非常简单的 Html 网站(没有服务器端代码)。我决定使用 angularJs,而不是复制一些 HTML。使用一些指令和一些局部视图,我可以重复使用一些代码而不复制它。
我为预加载器创建了一个指令,但我有一个问题.. 预加载器显示的时间比页面加载稍晚... 我的意思是加载了一些图像和文本,然后出现了预加载器,最后,当文档准备好时,预加载器消失了……这真的很烦人!
我希望预加载器出现在所有内容之前,但也许在那一刻还没有加载角度。我不知道我是否清楚。
无论如何,在这里你可以明白我的意思:
这是我的代码:
HTML 页面
<head>
...
<script src="/js/angularjs-1.4.8.min.js"></script>
<script src="/js/angularjs/app.js"></script>
<script src="/js/angularjs/directives/preloader.js"></script>
</head>
<body ng-app="renovahaus">
<rh-preloader></rh-preloader>
...
</body>
JS - 指令
angular.module('renovahaus')
.directive('rhPreloader', ['$document', function ($document) {
return {
restrict: 'E',
replace: true,
templateUrl: '/partial_views/directives/templates/preloader.html',
link: function (scope, element, attr) {
$document.ready(function () {
/*will first fade out the loading animation*/
$(element).find("#status").fadeOut();
/*will fade out the whole DIV that covers the website.*/
$(element).delay(1000).fadeOut("slow");
$("body").css('overflow-y', 'visible');
$("body").css('position', 'relative');
});
}
};
}]);
HTML - 模板指令
<div class="preloader">
<div id="status"></div>
<div id="loading-center">
<div id="loading-center-absolute">
<div class="object" id="object_four"></div>
<div class="object" id="object_three"></div>
<div class="object" id="object_two"></div>
<div class="object" id="object_one"></div>
</div>
</div>
</div>
谢谢
【问题讨论】:
-
请告诉我们你到目前为止做了什么......没有任何代码,我们将如何调试?
-
我编辑了我的帖子@Lal
标签: javascript html angularjs preloader