2013-04-27 45 views
0

霍洛兄弟!

我想在圖像加載完成時運行一個函數。我的代碼: -

HTML: -如何在背景圖像完全加載時啓動一個函數?

<div id="s_pc" style="background-image:url(http://www.surfixe.com/img/surfixe_pc.png)"></div> 
<button id="btn" style="display:none">This button should only show when image loading completes!</button> 

的jQuery: -

$('#s_pc').attr('style', 'background-image:url(www.surfixe.com/img/surfixe_pc.png)').load(function() { 
    alert('Image Loaded'); 
    $('#btn').show(); 
}); 

My current fiddle

好像有在我的編碼錯誤。有任何想法嗎?

+1

一些網站的搜索:http://stackoverflow.com/questions/2392410/jquery-loading-images-with-complete-callback – Daniel 2013-04-27 03:08:50

回答

-1

這裏有人(我不知道名字)回答了我的問題,但刪除了它。所以,我想我應該將它張貼: -

$('<img/>').attr('src', 'http://www.surfixe.com/img/surfixe_pc.png').load(function() { 
    alert('Image Loaded'); 
    $('#btn').show(); 
}); 

編輯:jsfiddle

+2

這不回答你最初問。 – 2013-04-27 03:12:07

+0

你是什麼意思?此代碼工作完美 – Tom 2013-04-27 03:17:20

0

嘗試。 使用Javascript加載圖像,然後將該圖像設置爲背景。

var bgImg = new Image(); 
bgImg.onload = function(){ 
    $('#s_pc').css('background-image', 'url(www.surfixe.com/img/surfixe_pc.png)'); 
    alert('Image Loaded'); 
    $('#btn').show(); 
}; 
bgImg.src = 'www.surfixe.com/img/surfixe_pc.png'; 
+0

對不起,但此代碼不起作用 – Tom 2013-04-27 03:16:32

+0

您需要一些清理..如當前src .. – SivaGao 2013-04-27 08:52:24