【问题标题】:Preload background-image using angularjs promises使用 angularjs 承诺预加载背景图像
【发布时间】:2014-07-04 07:51:21
【问题描述】:

如何使用 angularjs 承诺预加载 css 背景图像 我想做的是可以这样使用的东西:

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 的重复问题。

【问题讨论】:

    标签: css angularjs preload


    【解决方案1】:

    试试这个:

    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;
    }
    

    【讨论】:

    猜你喜欢
    • 2011-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多