<script type="text/javascript">
jQuery(document).ready(function(){
setTimeout(function(){
jQuery('.my-image').each(function(){
jQuery(this).greyScale({
fadeTime: 200,
reverse: false
});
$(this).animate({ 'opacity' : 1 }, 1000);
$(this).load(function(){
jQuery(this).greyScale({
fadeTime: 200,
reverse: false
});
$(this).animate({ 'opacity' : 1 }, 1000);
});
});
}, 200);
});
</script>
在上面的示例中,我使用 grayScale() 函数将图像复制到画布中并保留两个版本(灰色 = 默认,颜色 = 悬停)。
它在 99% 的情况下都能正常工作,但是当浏览器首次运行时,它有时无法加载 1 张图片、2 张图片或类似的东西。就像“加载”和“正常事件”都无法正常工作。
有人可以确认我是否做对了吗?如果图像已经存在或者不存在,我会尝试加载该事件,然后有替代的“load()”以确保它在加载后执行。从逻辑上讲,这似乎是一个很好的解决方案。