网上有很多类似功能的例子,但似乎没有一个对我有用。我现在拥有的是
<img id="sample_image" src="sample_image.png" alt="">
<script>
$('#sample_image').on('load',function(){
$("#sample_image").css("background", "#ff0000");
});
</script>
我希望在更改背景颜色之前加载/显示图像,但是在加载图像之前会看到红色背景。
我尝试使用jQuery设置src ...
<img id="sample_image" src="" alt="">
<script>
$('#sample_image').attr("src", "sample_image.png").on('load',function(){
$("#sample_image").css("background", "<%=strRGB%>");
});
</script>
但这也是一样。
我做错了什么?
由于
答案 0 :(得分:0)
我不确定您使用的load
方法是针对元素还是图像。
您可以创建Image
对象并检查onload
var img = new Image();
img.onload = function(){
//change the attr here
}
答案 1 :(得分:0)
在文档(https://api.jquery.com/load-event/)中,他们得到了:
<img src="book.png" alt="Book" id="book">
...
$( "#book" ).load(function() {
// Handler for .load() called.
});
当然,你可以使用香草:
var img = new Image()
img.src = "book.png";
img.onload = function(){ ... };