jquery:加载图像时为什么不能在 Chrome 上淡出图像?
我不明白这一点 - 为什么加载图像时不能在 Chrome 上淡入图像?
jquery:
$(document).ready(function(){
$('.image').fadeOut('slow',function(){
});
});
html,
<body>
<img src="pic-1.jpg" class="image"/>
</body>
但它在所有其他浏览器上都可以正常工作,包括 IE!
知道我做错了什么吗?
谢谢。
编辑:
这是我在 Chrome 和其他浏览器上测试的完整代码,
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Test</title>
<script type="text/javascript" src="jquery-1.6.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$('img').fadeOut('slow');
});
</script>
</head>
<body>
<img src="pic-1.jpg"/>
</body>
</html>
我想我之前在某处读过它,它与图像在 Chrome 上的加载方式有关。但我现在不记得它是如何运作的!
有什么想法吗?
谢谢。
编辑:
像这样修复它,
$(document).ready(function(){
$(window).bind('load', function() {
$('img').fadeOut('slow');
});
});
I don't understand this - why can't I fade image on Chrome when the image is loaded?
the jquery:
$(document).ready(function(){
$('.image').fadeOut('slow',function(){
});
});
the html,
<body>
<img src="pic-1.jpg" class="image"/>
</body>
But it works fine on all other browers, including IE!
Any idea what I have done wrong?
Thanks.
EDIT:
This is the entire code I am testing it on Chrome and other browsers,
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Test</title>
<script type="text/javascript" src="jquery-1.6.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$('img').fadeOut('slow');
});
</script>
</head>
<body>
<img src="pic-1.jpg"/>
</body>
</html>
I think I read it somewhere before that it is to do with how the image is loaded on Chrome. But I can't remember how it works now!
Any idea?
Thanks.
EDIT:
Got it fix like this,
$(document).ready(function(){
$(window).bind('load', function() {
$('img').fadeOut('slow');
});
});
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这可能是因为
$(document).ready()
在 html 加载完成时触发,而不是在图像加载完成后触发。奇怪的修复,但尝试在图像周围包裹一个 div 并在就绪时淡出它。或者,在.load()
上调用$('img').fadeOut('slow');
而不是.ready()
。It might be because
$(document).ready()
fires when the html is done loading, not after images are done loading. Weird fix, but try wrapping a div around the image and fading that out on ready instead. Alternately, call$('img').fadeOut('slow');
on.load()
instead of.ready()
.