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

求助:实在是不知道哪里错了,怎么调透明度都不变

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

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

<title>无标题文档</title>

<style>

*{margin:0;padding:0;}

ul,li{list-style: none;

}

ul li{

width:200px;

height:200px;

background:#666;

margin: 10px;

float: left;

opacity: 0.3;

}

</style>


<script type="text/javascript">

window.onload=function(){

var oLi=document.getElementsByTagName("li");

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

oLi[i].alpha=30;

oLi[i].onmouseover=function(){

startMove(this,100);

}

oLi[i].onmouseout=function(){

startMove(this,30);

}

}

}

function startMove(obj,iwidth){

//var oLi=document.getElementsByTagName("li");

clearInterval(obj.timer);

obj.timer=setInterval(function(){

var speed=0;

if (obj.alpha>iwidth) {

speed=-10;

}else{

speed=10;

};

if (obj.alpha==iwidth) {

clearInterval(obj.timer);

}else{

obj.alpha=obj.alpha+speed+"px";

obj.style.opacity=obj.alpha/100;

}

},30)

}

</script>


</head>

<body>

<ul>

<li></li>

<li></li>

<li></li>

<li></li>

</ul>

</body>

</html>


正在回答

2 回答

把启用实时预览的对勾取消就行了

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

我是新手。看你这段代码感觉乱乱的,是用改宽度的函数改的吧。

把obj.style.opacity=obj.alpha/100;这段代码改成obj.style.opacity=iwidth/100;就好了

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

一颗猕猴桃 提问者

iwidth是一个固定的值,onmouseover时是100,onmouseout时是30,并且一直与obj.alpha相比,如果大于obj.alpha就加上10,透明度就是根据alpha加上10之后的值再除以100得到的,所以我觉得并不是把obj.style.opacity=obj.alpha/100;中的obj.alpha改为iwidth就可以的,改了以后,鼠标放上就是切换而不是渐变。
2016-06-07 回复 有任何疑惑可以回复我~
#2

一颗猕猴桃 提问者

问题找到了……obj.alpha=obj.alpha+speed+"px";多加了“px”
2016-06-07 回复 有任何疑惑可以回复我~
#3

_9259 回复 一颗猕猴桃 提问者

感谢,我也知道我错哪了
2016-06-07 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

求助:实在是不知道哪里错了,怎么调透明度都不变

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