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

关于alpha>iTarget的问题想问下大家

<!doctype html>
<html>
<head>
    <meta charset="UTF-8">
<title>透明度</title>
<style>
*{
margin:0;padding:0;
}
#div{
width:300px;height:200px;background:red;filter:alpha(opacity:30);opacity:0.3;
}
</style>
    </head>
   <script>
   window.onload=function(){
   var onDiv=document.getElementById('div');
   onDiv.onmouseover=function(){
  startmove(100);
  }
   onDiv.onmouseout=function(){
  startmove(30);
  }
  }
  var timer=null;
      alpha=30;
  function startmove(iTarget){
var onDiv=document.getElementById('div');
clearInterval(timer)
timer=setInterval(function(){
var speed=0;
if(alpha>iTarget){
speed=-10;
}else{
speed=10;
}
if(alpha==iTarget){
clearInterval(timer);
}else{
alpha+=speed;
onDiv.style.filter='alpha(opacity:'+alpha+')';
onDiv.style.opacity=alpha/100;
}
},30)

}
   </script>
<body>
<p id="div"></p>
</body>
</html>

老师在讲alpha>iTarget我其实是有点懵的,因为我看了下已经定义了alpha=30,并且iTarget在30-100之间徘徊的,那我应该怎么去理解这句话?

正在回答

2 回答

你这样想:iTarget是个定值(30,100);

alpha是一个随时间变化而变化的值,即所对应的颜色深浅。

当alpha>iTarget时,是不是iTarget只能取30,这个不等式才能有效。即他的目标值是30,是不是颜色要变浅啊,颜色变浅是不是要给alpha值递减啊,递减的话,只能加一个负数吧。

你画一个数轴,标出alpha与iTarget就比较明显

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

这是鼠标移入,目标值从100转向30所以要负数

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

举报

0/150
提交
取消
JS动画效果
  • 参与学习       113926    人
  • 解答问题       1443    个

通过本课程JS动画的学习,从简单动画开始,逐步深入各种动画框架封装

进入课程

关于alpha>iTarget的问题想问下大家

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