发布网友 发布时间:2022-04-26 10:21
共2个回答
热心网友 时间:2022-04-25 02:25
原因分析:应该是fadeOut是异步执行的原因造成的(fadeOut方法由新开的一个线程执行,然后主线程又接着执行后面的代码,由于图片渐隐的效果比更改src属性花费的时间更长,所以图片更换在隐藏之前也就不足为奇了)
解决方案:
查询jquery的用户手册可以发现fadeOut方法可以加一个回调函数,也就是,渐隐效果执行完成后才执行的函数,具体的看下面的例子(在IE8下面测试通过)。
<html>
<head>
<title> New Document </title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"
type="text/javascript"></script>
<script type="text/javascript">
$(function(){
$("#btnChange").click(function(){
$("#main6_left_img").fadeOut(function(){
$("#main6_left_img").attr("src","images/main6_left_img2.jpg");
//把图片src的更改,放到回调函数里面来执行。
});
$("#main6_left_img").fadeIn();
});
});
</script>
</head>
<body>
<img src='images/main6_left_img1.jpg' id="main6_left_img" title="main6_left_img"/>
<input type="button" id="btnChange" value="change"/>
</body>
</html>
热心网友 时间:2022-04-25 03:43
加一个延时吧