`
ice-cream
  • 浏览: 321968 次
  • 性别: Icon_minigender_2
  • 来自: 上海
社区版块
存档分类
最新评论

IE6默认不缓存背景图片,引起鼠标抖动的解决方法

    博客分类:
  • Css
阅读更多

在IE6下,如果拖动的DOM元素使用了背景图,在Drag的过程中会出现严重的鼠标抖动现象.

在网上查了下,说是因为:IE6下默认不缓存背景图片,CSS里每次更改图片的位置时都会重新发起请求.

可用下方法来解决(让IE6缓存背景图片 ):

在head区(即<head>到</head>之间 添加以下代码:

CODE:
<!--[if IE 6]>
<script type="text/javascript">
document.execCommand("BackgroundImageCache", false, true);
</script>
<![endif]-->

区分ie的if写法
<!--[if lte IE 6]>………….<![endif]-->
Ite:less than or equal to意思是小于或等于IE6浏览器,用于IE浏览器的条件注释,常用于CSShack,针对IE的JS等。
以下是各种情况,已验证。
1. <!--[if !IE]><!--> 除IE外都可识别 <!--<![endif]-->
2. <!--[if IE]> 所有的IE可识别 <![endif]-->
3. <!--[if IE 5.0]> 只有IE5.0可以识别 <![endif]-->
4. <!--[if IE 5]> 仅IE5.0与IE5.5可以识别 <![endif]-->
5. <!--[if gt IE 5.0]> IE5.0以及IE5.0以上版本都可以识别 <![endif]-->
6. <!--[if IE 6]> 仅IE6可识别 <![endif]-->
7. <!--[if lt IE 6]> IE6以及IE6以下版本可识别 <![endif]-->
8. <!--[if gte IE 6]> IE6以及IE6以上版本可识别 <![endif]-->
9. <!--[if IE 7]> 仅IE7可识别 <![endif]-->
10. <!--[if lt IE 7]> IE7以及IE7以下版本可识别 <![endif]-->
11. <!--[if gte IE 7]> IE7以及IE7以上版本可识别 <![endif]-->

那如果当前的浏览器是IE,但版本比IE5还低,该怎么办呢,可以使用<!--[if ls IE 5]>,当然,根据条件注释只能在IE5+的环境之下,所以<!--[if ls IE 5]>根本不会被执行。

当然记住下面几个单词就可以很清醒的运用了!

lte:就是Less than or equal to的简写,也就是小于或等于的意思。

lt :就是Less than的简写,也就是小于的意思。

gte:就是Greater than or equal to的简写,也就是大于或等于的意思。

gt :就是Greater than的简写,也就是大于的意思。

! :就是不等于的意思,跟javascript里的不等于判断符相同。
分享到:
评论
1 楼 阳光暖暖 2009-03-04  
太崇拜你了,O(∩_∩)O~,虽然我出现了同样的问题。也找了很多方法。可是因为问题描述不对,所以一直没有找到答案。今天在你这找到了答案,真高兴啊!

相关推荐

Global site tag (gtag.js) - Google Analytics