function setOpacity() {
element.style.opacity=parseInt(target)/100;
element.style.filter = "alpha(opacity="+parseInt(target)+")";
}
貌似无法执行
用火狐测试时出现
预期为 'none'、网址或过滤功能,但却得到 'alpha('。 解析 'filter' 的值时出错。 声明被丢弃。
if(attr=="opacity") {
if (step == 0) {
setOpacity();
} else if (step > 0 && Math.abs(parseFloat(getStyle(element, attr)) * 100 - target) <= step) {
setOpacity();
} else if (step < 0 && (parseFloat(getStyle(element, attr)) * 100 - target) <= Math.abs(step)) {
setOpacity();
} else {
var temp = parseFloat(getStyle(element, attr)) * 100;
element.style.opacity=parseInt(temp+step)/100;
element.style.filter = "alpha(opacity="+ parseInt(temp+step) + ")"
} 的else语句可以执行,不知道setOpacity函数出了什么问题
1.2.300.65.4888787
这和js无关,其实你通过js操作的还是元素的属性,这里你可以看一下w3c里的css3对于动画的一些兼容性介绍
js:
window.onload=function () {
var div1=document.getElementsByTagName('div');
for (var i = 0 ; i < div1.length; i++) {
div1[i].alpha=30;
div1[i].timer=null;
div1[i].onmouseover=function(){
move(this,100);
}
div1[i].onmouseout=function(){
move(this,30);
}
}
}
//var timer=null;
//var alpha=30;
function move (obj,targe) {
clearInterval(obj.timer);
obj.timer=setInterval(function () {
var speed=(targe-obj.alpha)/6;
speed=speed>0?Math.ceil(speed):Math.floor(speed);
if(obj.alpha==targe)
{
clearInterval(obj.timer);
}
else {
obj.alpha+=speed;
//obj.style.filter ='alpha(opacity : '+obj.alpha+')';
obj.style.opacity = obj.alpha/100;
}
}, 30);
}
html:
<!DOCTYPE html>