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

为什么我的任意属性值(二)中的这个代码不运行?


<!doctype html>

<html>

<head>

<meta charset="utf-8">

<title>任意属性值运动2</title>

<style>

* {

margin: 0;

padding: 0;

}

ul,li{

list-style: none;

}

ul li {

width: 200px;

height: 100px;

background:yellow;

margin-bottom: 20px;

border: 4px solid #000;

filter:alpha(opacity=30);

opacity:0.3;

}

</style>

</head>

<body>

<ul>

<li id="li1"></li>

</ul>

<script>

window.onload=function(){

/*var aLi = document.getElementsByTagName('li');

for(var i=0;i<aLi.length;i++){

aLi.timer = null;

aLi[i].onmouseover = function(){

startMove(this,400);

}

aLi[i].onmouseout = function(){

startMove(this,200);

}

}*/

var Li1=document.getElementById('li1');

Li1.onmouseover=function(){

startMove(this,'opacity',100);

}

Li1.onmouseout=function(){

startMove(this,'opacity',30);

}

}

function getStyle(obj,attr){

if(obj.currentStyle){

return obj.currentStyle[attr];

}else{

return getComputedStyle(obj,false)[attr];

}

}

//var timer = null;

var alpha = 30;

function startMove(obj,attr,iTarget){

clearInterval(obj.timer);

obj.timer=setInterval(function(){

var icur = 0;

if(attr == 'opacity'){

icur = parseFloat(getStyle(obj.attr))*100;

}else{

icur=parseInt(getStyle(obj,attr));

}

var speed=(iTarget-icur)/8;

speed=speed>0?Math.ceil(speed):Math.floor(speed);

if(icur==iTarget){

clearInterval(obj.timer);

}else{

if(attr == 'opacity'){

obj.style.filter = 'alpha(opacity:'+(icur + speed)+')'

obj.style.opacity = (icur + speed)/100;

}else{

obj.style[attr]=icur+speed+'px';

}

}

},30);

}

</script>

</body>

</html>




为什么我这个不运行?我改成HEIGHT可以运行,但是透明度却不可以,我都照着老师的抄了,为什么会这样呢?

正在回答

3 回答

我去,做了一个晚上才发现多了icur=parseInt(getStyle(obj.attr));

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

Uncaught TypeError: Cannot read property 'currentStyle' of undefined   这是控制台报错信息

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

举报

0/150
提交
取消

为什么我的任意属性值(二)中的这个代码不运行?

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