当前位置 : 主页 > 网页制作 > css >

css – 使用angularjs promises预加载背景图像

来源:互联网 收集:自由互联 发布时间:2021-06-13
如何使用 angularjs promises预加载css background-image 我想做的是我可以这样使用的东西: link: function(scope, element, attrs){ element.hide(); url = attrs.url; preload(url).then(function(loadedImageURL){ element.css({
如何使用 angularjs promises预加载css background-image
我想做的是我可以这样使用的东西:

link: function(scope, element, attrs){
    element.hide();
    url = attrs.url;
    preload(url).then(function(loadedImageURL){
        element.css({
            background-image: "url('" + loadedImageURL + "')"
        });
    });
    element.fadeIn();
}

请注意,这不是this one的重复问题.

试试这个:

function preload(url) {
  var deffered = $q.defer(),
      image = new Image();

  image.src = url;

  if (image.complete) {

    deffered.resolve();

  } else {

    image.addEventListener('load', function() {
      deffered.resolve();
    });

    image.addEventListener('error', function() {
      deffered.reject();
    });
  }

  return deffered.promise;
}
网友评论