有沒有辦法,使用jQuery來觸發加載CSS背景圖像的事件?背景圖片加載觸發事件
12
A
回答
22
,你可以像這樣做,
demo
$('<img>').load(function(){
// make sure to bind the load event BEFORE setting the "src"
alert('image loaded');
}).attr('src',function(){
var imgUrl = $('body').css('background-image');
imgUrl = imgUrl .substring(4, imgUrl .length-1);
return imgUrl;
}).each(function() {
// fail-safe for cached images which sometimes don't trigger "load" events
if(this.complete) $(this).load();
});
2
$('<img>').attr('src',function(){
var imgUrl = $('#body').css('background-image');
imgUrl = imgUrl .substring(5, imgUrl .length-2);
return imgUrl;
}).load(function(){
//Do Something
});
不由得注意到,上面的代碼不撥弄工作。看起來像它,因爲它返回「url('/ img-path.jpg')」而不是「/img-path.jpg」。
但是這種方法在IE中仍然失敗。任何人有一個即修復?
+2
我已經修復根據您的代碼和意見接受的答案 – 2012-03-09 19:33:11
2
我發現,IE瀏覽器的問題是緩存:http://www.witheringtree.com/2009/05/image-load-event-binding-with-ie-using-jquery/
,所以你可以試試這個:
$(」).attr({src: src + ‘?random=’ + (new Date()).getTime()}).load(function(){
//custom code here....
});
0
$(document).ready(function(){
$('img, .hasBGI').css('opacity',0)
$('.hasBGI').each(function(){
var $this = $(this)
$bgi = $('<img src="'+/*folderFix*/$this.css('backgroundImage')+'">')
// $bgi.css(/*hiddingStyle*/)
$('body').append($bgi)
$bgi.load(function(){
$(this).remove()
$this.animate({opacity:1})
})
})
$('img').load(function(){
$(this).animate({opacity:1})
})
})
+0
我的意圖是圖像平滑下載 – domSurgeon 2013-07-05 15:01:33
相關問題
- 1. 背景圖片未加載
- 2. 從背景加載圖片
- 3. 加載Javascript事件css背景圖像
- 4. CSS背景圖片未加載
- 5. 用jquery加載背景圖片
- 6. JS/jQuery:加載背景圖片
- 7. 在flash加載時的背景圖片
- 8. CSS背景圖片在Chrome不加載
- 9. 鏈接的背景圖片未加載
- 10. 有時僅加載背景圖片
- 11. 防止加載背景圖片
- 12. CSS背景圖片無法加載
- 13. CSS背景圖片加載行爲
- 14. jQuery .css背景圖片預加載
- 15. CSS背景圖片不會加載
- 16. Angular 2 - 預加載背景圖片?
- 17. CSS背景圖片URL無法加載
- 18. 用jQuery預加載背景圖片?
- 19. 被加載的背景圖片閃爍
- 20. jquery背景圖片預加載
- 21. 圖片背景緩慢加載
- 22. gif加載後更改背景圖片?
- 23. 本地背景圖片無法加載
- 24. 事件onclick改變背景圖片
- 25. 在Javascript中預加載背景圖片 - 事先未聲明CSS
- 26. 設置背景圖片加載前的網頁背景顏色
- 27. 強制在其他背景圖片之前加載背景圖片
- 28. 加載圖標作爲背景圖片加載
- 29. CSS背景圖片疊加
- 30. 疊加在背景圖片
的可能的複製[我如何檢查是否背景圖像加載?](http://stackoverflow.com/questions/5057990/how-can-i-check-if-a-background-image-is-loaded) – azerafati 2016-10-02 12:39:18