为了账号安全,请及时绑定邮箱和手机立即绑定

IE浏览器 滤镜透明度问题

<!DOCTYPE HTML>

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

<title>边距</title>

<style type="text/css">

*{margin:0;padding:0;}

#box1{

width:200px;

height:200px;

background:red;

filter:alpha(opacity:30);

opacity:0.3;

}

</style>

<script type="text/javascript">

window.onload=function(){

var oDiv = document.getElementById("box1");

oDiv.onmouseover = function(){

startMove(100);

}

oDiv.onmouseout = function(){

startMove(30);

}

}


var timer=null;

var alpha=30;

function startMove(itarget){

var speed=30;

var oDiv = document.getElementById("box1");

clearInterval(timer);

timer=setInterval(function(){

if (alpha>itarget){

speed = -10;

}

else{

speed = 10;

}

if(alpha == itarget){

clearInterval(timer);

}

else{

alpha+=speed;

oDiv.style.opacity=alpha/100;

oDiv.style.filter='alpha(opacity='+alpha+')';

}

},50);

}

</script>

</head>

<body>

   <div id="box1"></div>

</body>

</html>

想知道oDiv.style.filter='alpha(opacity='+alpha+')';改变透明度这里为什么这么写'+alpha+'?alpha不是变量吗?应该可以直接等于alpha啊?

正在回答

代码语言

4 回答

'alpha(opacity='+alpha+')'你把这个分开三部分看就清楚了 

第一部分是字符 'alpha(opacity=' 

第二部分是变量 +alpha+ 

第三部分是字符  ')'

0 回复 有任何疑惑可以回复我~

你加的是变量啊!  字符串拼接,就是把需要连接到一起的数值或字符,拼接到一起组成新的值。


0 回复 有任何疑惑可以回复我~

我查到的:IE的透明度的属性从IE4-IE8使用filter: alpha(opacity=number),这里的number是0-100之间的整数数值,IE8中我们也可以用-ms-filter: "alpha(opacity=number)"。IE中还支持progid:DXImageTransform.Microsoft.Alpha(Opacity=xx)这种写法,但是不建议使用。在这里,number是0-100之间的整数数值,但是'+alpha+'不是字符串了吗?

0 回复 有任何疑惑可以回复我~

字符串拼接,你看看IE透明度用的CSS属性。所以不能直接等于,变量不加引号,但是字符串得加。

0 回复 有任何疑惑可以回复我~
#1

666图 提问者

我查到的:IE的透明度的属性从IE4-IE8使用filter: alpha(opacity=number),这里的number是0-100之间的整数数值,IE8中我们也可以用-ms-filter: "alpha(opacity=number)"。IE中还支持progid:DXImageTransform.Microsoft.Alpha(Opacity=xx)这种写法,但是不建议使用。在这里,number是0-100之间的整数数值,但是'+alpha+'不是字符串了吗?
2015-12-27 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

IE浏览器 滤镜透明度问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信