尝试通过更改元素悬停时的不透明度来使用淡化效果。
图片确实会根据开发人员工具进行更改,并且不透明度在所有浏览器上都可以正常工作,但谷歌浏览器除外。
这是我的代码:
var default_image = $("#all_content #banner #banner_image").attr("src");
$('#side_menu #side_menu_content li a').hover(function(){
var image = $(this).attr("rel");
$("#all_content #banner #banner_image").stop().animate({opacity:'0'}, function(){
$("#all_content #banner #banner_image").attr("src", "images/"+image);
}).load(function(){
$(this).stop().animate({opacity:'1'});
});
},
function(){
$("#all_content #banner #banner_image").stop().animate({opacity:'0.6'}, function(){
$("#all_content #banner #banner_image").attr("src", default_image);
}).load(function(){
$(this).stop().animate({opacity:'1'});
});
}
);
我已经注意到有时候图像会发生变化,但是在代码中要求的情况下将鼠标悬停在0.6的不透明度上,但之后不再进展为1。此外,有时在元素悬停后,图像甚至无法加载。
但是在所有其他浏览器上工作100%,甚至是IE8。
.load()函数是否与Chrome有关?如果是的话,有什么我可以用来替代它吗?