2011-10-11 63 views
1

我使用[jQuery插件] [1]創建一個模糊用下面的代碼的圖像:簡單的JavaScript函數

$(document).ready(function(){ 

var img = new Image(); 
img.onload = function() { 
    Pixastic.process(img, "blurfast", {amount:1}); 
} 
document.body.appendChild(img); 
img.src = "image.jpg"; 

}); 

我怎麼能改寫這個所以比,而不是創造的形象,我可以只需將其分配給< img class =「blurthisimage」>?

UPDATE:

新的代碼仍然沒有工作:

<img src="image.jpg" class="blurthisimage" /> 

<script type="text/javascript"> 
$(document).ready(function(){ 
var img = $(".blurthisimage"); 
img.onload = function() { 
    Pixastic.process(img, "blurfast", {amount:1}); 
} 
}); 
</script> 

回答

1

變化

img = new Image();

img = $(".blurthisimage");

UPDATE 嘗試檢查,看看是否加載圖像與此

if (img[0].complete == true) { 
    Pixastic.process(img[0], "blurfast", {amount:1}); 
} 
else { 
    img.load(function() { 
     Pixastic.process(img[0], "blurfast", {amount:1}); 
    }); 
} 

,如果你想對多個圖像這項工作使用以下命令:

img.each(function(index, element) 
{ 
    if (img[index].complete == true) { 
     Pixastic.process(img[index], "blurfast", {amount:1}); 
    } 
    else { 
     img.load(function() { 
      Pixastic.process(img[index], "blurfast", {amount:1}); 
     }); 
    } 
}); 

如果還是不行工作在onload函數內部添加一個提醒,看看它是否會引發火災

+0

謝謝你,但它不工作。我已經用新代碼更新了我的帖子 – fxfuture

+0

@fxfuture我更新了我的回答 – brenjt

+0

,但仍然無法正常工作。我對img.load發出了一個提示,並且它根本沒有觸發 – fxfuture

1

img.onload函數是否被擊中?如果代碼甚至沒有進入函數,可能是因爲您在jQuery的.ready()函數中實例化了.onload代碼,該函數等待頁面加載以運行代碼(請參閱ready() documentation)。當函數被實例化時,圖像已經被加載,所以事件永遠不會被觸發。

+0

衝突是的img.onload觸發警報 – fxfuture