2016-02-12 38 views
0

我正尝试用CreateJS/PreloadJS预载图像。这些图像将替换具有id和class等属性的图像。当我使用JQuery替换图像时,所有这些属性都会丢失。如何使用CreateJS的PreloadJS加载图像并保留属性?

预加载图像然后在我的页面上显示图像的正确方法是什么?

<html> 
    <img id="main" class="fit center"/> 
</html> 

function changeImage(event){ 
    $('#main').replaceWith(queue.getResult("main")); 
} 

function handleFileComplete(event){ 
    console.log(event.result); 
} 

function loadImage() { // jshint ignore:line 
    var preload = new createjs.LoadQueue(); // jshint ignore:line 
    preload.addEventListener("fileload", handleFileComplete); 
    preload.loadFile("img/main.png"); 
} 

$(document).ready(function() { 
    queue = new createjs.LoadQueue(); 
    queue.loadManifest([ 
     {id: "main", src:"img/main.png"} 
    ]); 
    queue.on("complete", handleFileComplete, this); 
}); 

回答

0

在使用JQuery替换元素之前,将属性应用于新图像。

var newImage = queue.getResult(label); 
newImage.setAttribute("class", "fit center"); 
newImage.setAttribute("id", "main"); 
$('#main').replaceWith(newImage);