gpt4 book ai didi

javascript - Angularjs 等到 div 背景图像显示

转载 作者:技术小花猫 更新时间:2023-10-29 12:34:13 26 4
gpt4 key购买 nike

我有以下 ng-repeat$http.post 调用中获取数据并将其存储到 $scope.data 中。

<div ng-repeat="key in [] | range:data.pages">
<div class="pageBackground" id="page_{{ (key+1) }}" ng-style="{'background-image':'url(/images/{{data.id}}/{{(key+1)}}.png)'}">
<!-- some random stuff here -->
</div>

正常情况是 .pageBackground 类将在背景图像出现在屏幕上之前加载。在实际加载 background-image 之前,我不希望显示任何内容,但我一直无法弄清楚。

有人有什么建议吗?

最佳答案

我不确定您的问题是否有真正的解决方案。解决方法是使用 Image对象,如 this answer 中所述.例如作为一个指令:

angular.module("yourModule").directive("showOnceBackgroundLoaded", [function () {
return {
restrict: "A",
scope: false,
link: function (scope, element, attributes) {
element.addClass("ng-hide");
var image = new Image();
image.onload = function () {
// the image must have been cached by the browser, so it should load quickly
scope.$apply(function () {
element.css({ backgroundImage: 'url("' + attributes.showOnceBackgroundLoaded + '")' });
element.removeClass("ng-hide");
});
};
image.src = attributes.showOnceBackgroundLoaded;
}
};
}]);

使用:

<div ng-repeat="key in [] | range:data.pages">
<div class="pageBackground" id="page_{{ (key+1) }}" show-once-background-loaded="/images/{{data.id}}/{{(key+1)}}.png">
<!-- some random stuff here -->
</div>

关于javascript - Angularjs 等到 div 背景图像显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35021688/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com