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

鼠标滑过时提示错误,不知道哪里原因啊

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Document</title>
<style type="text/css">
      *{
       margin: 0;
       padding: 0;
      }
      ul,li{
       list-style: none;
      }
      ul li{
       width: 200px;
       height: 100px;
       background: yellow;
       margin-bottom:20px;
       filter: alpha(opacity:30);
       border: 4px solid #000;
       filter: alpha(opacity:30);
        opacity: 0.3;
      }
</style>
<script>
window.onload=function(){
        var Li1=document.getElementById('li1');
        var Li2=document.getElementById('li2');
        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=0;
  var alpha=30;
function startMove(obj,attr,iTarget){
         clearInterval(obj.timer);
         obj.timer=setInterval(function(){
          var icur=0;
          if(attr=='opacity'){
            icur=Math.round(parseFloat(getStyle(obj.attr))*100);
          }else{
            icur=parseInt(getStyle(obj.attr));
          }
          //var 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>
</head>
<body>
<ul>
      <li id="li1"></li>
</ul>
</body>
</html>

http://img1.sycdn.imooc.com//580575c400018c5d09080215.jpg

这是提示的错误,鼠标滑过就提示这个,然后背景色也没什么变化,实在不知道什么原因啊

正在回答

3 回答

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>Document</title>

<style type="text/css">

      *{

       margin: 0;

       padding: 0;

      }

      ul,li{

       list-style: none;

      }

      ul li{

       width: 200px;

       height: 100px;

       background: yellow;

       margin-bottom:20px;

       filter: alpha(opacity:30);

       border: 4px solid #000;

       filter: alpha(opacity:30);

        opacity: 0.3;

      }

</style>

<script>

window.onload=function(){

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

        var Li2=document.getElementById('li2');

        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=0;

  var alpha=30;

function startMove(obj,attr,iTarget){

         clearInterval(obj.timer);

         obj.timer=setInterval(function(){

          var icur=0;

          if(attr=='opacity'){

            icur=Math.round(parseFloat(getStyle(obj.attr))*100);  // 这行代码写错了getStyle(obj.attr)应该是getStyle(obj,attr) 是调用用 , 号不是.号

          }else{

            icur=parseInt(getStyle(obj.attr)); // 这个也是 自己改过来

          }

          //var 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>

</head>

<body>

<ul>

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

</ul>

</body>

</html>


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

总觉得你似乎没有认真看啊,虽然我也没认真看就是了,比如,你定义了Li1和Li2,但是只用到Li1,又比如getStyle()方法的参数,你有时候写getStyle(obj.attr),有时候写getStyle(obj,attr),这两个的意义完全不一样了啊,先去吃饭,我也还没开始自己写,你自己再仔细看一下自己的代码吧

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

qq_小狸猫_03724105 提问者

发现错误了,谢谢
2016-10-18 回复 有任何疑惑可以回复我~

你没有currentStyle吧?不存在的怎么用if进行判断啊

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

举报

0/150
提交
取消

鼠标滑过时提示错误,不知道哪里原因啊

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