解决ie8-不兼容0.5px的问题

有时候我们设置定时器的时候,需要让div移动0.2px/s,当然在ie8+以外的浏览器这样做完全没问题,那么如何兼容ie8-(小于1px会向下取整为0)的浏览器呢?

1 功能检测(判断某个对象只有ie8支持,针对该浏览器做相应处理)

2 浏览器检测(判断浏览器的类型,针对ie8做相应处理)

//判断浏览器
	function getInternetExplorerVersion()
	// Returns the version of Windows Internet Explorer or a -1
	// (indicating the use of another browser).
	{
		var rv = -1; // Return value assumes failure.
		if (navigator.appName == 'Microsoft Internet Explorer') {
			var ua = navigator.userAgent;
			var re = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})");
			if (re.exec(ua) != null) rv = parseFloat(RegExp.$1);
		}
		return rv;
	}

3 声明一个变量用来记录0.2累加,设置定时器(推荐,不用针对某个浏览器做特殊处理)

如下:

<div id="dv" style="border:solid 1px #000"></div>
<div style="border:solid 1px #000;width:110px;margin-top:10px"></div>
<script>
    window.onload = function () {
        var tb = document.getElementById('dv'), w = 100;
        tb.style.width = w + 'px';
        setInterval(function () {
            w += 0.5;
            tb.style.width = w + 'px';
        }, 1000)
    }
</script>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值