ie6的又一个bug,强制从缓存中读取图片

       最近jquery基本的东西学的差不多了,关键在使用,于是在钱本草的博客上就大做手脚,在导航栏下的两个推荐文章处总是那么一点文章如果多的话就要把前面的那些删除,这样以前的就找不到了,所以我想如果是个滚动的效果话那就不受这个限制了,使用jquery真的非常棒,短短几行代码就实现了这样的效果,代码如下:

/**mybar li scroll*/
function scroll_news(){jQuery(function(){
jQuery("#mybar ul").each(function(){
jQuery(this).find("li").eq(0).fadeOut('slow',function(){
jQuery(this).clone()
  .appendTo(jQuery(this).parent()).fadeIn('slow'); jQuery(this).remove();
});
  });   

});
}
setInterval('scroll_news()',4000);
/**end*/

但是发现一个小小的问题:(,由于我在li设置了背景图片的样式,每次移除一个li后再添加这样就要从新加载那个背景图片,虽然没什么大的影响但很是不爽,用firefox打开后却没有这样的问题,于是断定又是ie的一个bug,经过多方询查,最终在一个老外的博客上找到了答案:原文地址:http://evil.che.lu/2006/9/25/no-more-ie6-background-flicker
在这里提供了两种解决方式,分别是用css样式和javascript脚本解决
方式一:

html {
filter: expression(
document.execCommand("BackgroundImageCache", false, true));}

方式二:随便放在body的onload事件中,当然使用了jquery就放在ready中就可以了
try {
  document.execCommand(’BackgroundImageCache’, false, true);
} catch(e) {}

鉴于expression严重影响浏览器效率,建议采用第二种方式。

最后,问题解决了页面中加入从缓存读取背景图片!Very cool :)

Tags: , , , , 05月 6th, 2008 Posted in javascript, 家园建设, 编程开发

5 Responses to “ie6的又一个bug,强制从缓存中读取图片”

  1. Sunxc Says:

    自己做个沙发 解决问题了 感觉爽



  2. yacca Says:

    -o- 还会自己慢慢往上跳的啊 牛逼这代码



  3. Sunxc Says:

    @yacca 哈哈 有需要这效果的地方告诉我 我帮你修改



  4. 博X Says:

    我已经用IE8了··感觉上还是没有IE7.0好用~~



  5. Sunxc Says:

    我只希望浏览器更新 最好彼此兼容 不然搞开发 要测试各种浏览器 多出来一个ie8又多个测试的



Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Powered by WordPress | Blue Weed by Blog Oh! Blog | Entries (RSS) and Comments (RSS)