简介 目录 评价 推荐
  • 专注程序不可自拔 2018-11-20
    filter: alpha(opacity:30)有错误提示
    已采纳 花花世界11 的回答

    应该这样写filter:Alpha(opacity = 30)

    1回答·1729浏览
  • 慕仔3905718 2018-05-23
    为啥使用obj.style[filter]在浏览器里会报错,obj.style[filter]和obj.style.filter不是一样的吗?报错说obj.style[filter]未定义?
    已采纳 阿宅娘 的回答

    obj.style[filter]改为obj.style['filter'],obj.style.filter === obj.style['filter']

    1回答·1422浏览
  • 白鹿max 2018-01-15
    能帮我看看哪里出错了么?
    已采纳 Zkan 的回答

    Li1.onmouseout = function () {

    stratMove(this, 'opacity', 30);

    }

    start拼写错误,其他没看

    1回答·1400浏览
  • qq_正在输入_30 2018-01-14
    为什么在IE浏览中透明度没有变化,其他浏览器都可以?
    已采纳 微笑只因快乐 的回答

    兼容的问题,加个webkit试试

    1回答·1846浏览
  • remmargorP 2017-12-26
    Math.round

    它是round的(float*100)

    3回答·1414浏览
  • 洛洛 2017-11-09
    链式动画动不了。。。求大神指点5555555
    2回答·1160浏览
  • 慕粉3601794 2017-09-19
    为什么给两个li 都调用了函数,却只有第一个起了作用,且没发现对象的timer属性在哪里初始化?????

    为什么删不掉提问,懵逼,少写了一个=。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

    1回答·687浏览
  • qq_Justcomplete_04021004 2017-09-08
    透明度改变不了,提示currentStyle没有定义
    已采纳 qq_活在当下_30 的回答

    http://img.mukewang.com/59b3b14c0001d02a09910615.jpg
    小细节 不仔细看 很难发现

    2回答·1867浏览
  • Anxie 2017-08-17
    filter 的作用是干啥的呀?

    在IE浏览器中,识别filter;在chrome中用opacity

    2回答·495浏览
  • qq_童话里_0 2017-08-06
    透明度不会变呀

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

    2回答·1220浏览
  • 慕娘3915450 2017-07-20
    getComputedStyle(obj,false)[attr];

    针对火狐的那段代码错了; getComputedStyle() 方法是 window 对象的方法;你写成obj调用了,obj只是接收实参的形参;所以错了。

    3回答·1940浏览
  • qq_轮滑到老_04284587 2017-07-14
    求大神指点一下
    2回答·835浏览
  • qq_轮滑到老_04284587 2017-07-14
    求大神指点

    问题?你的问题是什么?

    1回答·913浏览
  • 浪里白嫖张顺 2017-07-12
    有点懵逼我,不加random我的透明度变化也正常

    写错了,应该是round。。

    1回答·305浏览
  • 明日之渺 2017-05-15
    问什么鼠标移出时透明度变不了啊啊啊?

    哈哈,自己发现了,移出透明度忘记改为30了,郁闷。。。。

    1回答·930浏览
  • 御焱 2017-01-26
    var icur=parseFloat(getStyle(obj,attr))*100;

    视频里好像说随机出现吧,你确定你试过所有数了吗?

    1回答·1123浏览
  • MY裴秀智4043005 2016-12-11
    实在是不知道}哪里错了?
    已采纳 电饭锅的规划 的回答

    细心点。

    <!DOCTYPE html>

    <html>

    <head>

    <meta charset="utf-8">

    <title></title>

    <style>

    body,ul{

    margin: 0;

    padding: 0;

    }


    ul,li{

    list-style: none;

    }

    ul li{

    width: 200px;

    height: 100px;

    background: yellow;

    margin-bottom: 20px;

    border:4px solid #ddd;

    filter: alpha(opacity: 30);

    opacity: 0.3; 

    }

    </style>

    <script>




    window.onload = function(){

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

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

    // aLi[i].timer = null;

    // aLi[i].onmouseover =function(){

    // startMove(this,400);

    // }

    // aLi[i].onmouseout =function(){

    // startMove(this,200);

    // }

    // }

    // alert(Math.round(3.4));

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


    3回答·1231浏览
  • jokerchan4353390 2016-11-25
    透明度不会变化,别的可以变化,求帮忙看下

    <!DOCTYPE html>
    <html lang="en">
    <head>
       <meta charset="UTF-8">
       <title>JS动画</title>
       <style>
           body,ul,li{
               margin: 0;
               padding: 0;
           }
           ul,li{
               list-style: none;
           }
           ul li{
               width: 200px;
               height: 100px;
               background: yellow;
               margin-bottom: 20px;
               border:5px solid black;
           }
           ul #li1{
               filter:alpha(opacity:30) ;
               opacity:0.3;
           }
       </style>
    </head>
    <body>
    <ul>
       <li id="li1"></li>
       <li id="li2"></li>
    </ul>
    <script>
       window.onload=function () {
    //        var list=document.getElementsByTagName('li')
    //        for (var i=0;i<list.length;i++){
    //            list[i].times=null;
    //            list[i].onmouseover=function () {
    //                startMove(this,400);
    //            }
    //            list[i].onmouseout=function () {
    //                startMove(this,200);
    //            }
    //        }
    var li1=document.getElementById('li1');
           var li2=document.getElementById('li2');
    //        li1.times=null;
    //        li2.times=null;
    //        li3.times=null;
    li1.onmouseover=function () {startMove(this,100,'opacity')}
           li1.onmouseout=function () {startMove(this,30,'opacity')}
           li2.onmouseover=function () {startMove(this,200,'height')}
           li2.onmouseout=function () {startMove(this,100,'height')}
       }
       //var times=null;
    function startMove(obj,iTarget,sty){
           clearInterval(obj.times);
           obj.times=setInterval(function () {
               var icur=0;
               if(sty=='opacity'){
                   icur=Math.round(parseFloat(getStyle(obj,sty))*100);

               }
               else {icur=parseInt(getStyle(obj,sty))}
               var speed=(iTarget-icur)/10;
               speed=speed>0?Math.ceil(speed):Math.floor(speed);
               if(icur==iTarget){
                   clearInterval(obj.times);
               }
               else{
                   if(sty=='opacity'){
                       obj.style.filter='alpha(opacity:'+icur+speed+')';
                       obj.style['opacity']=(icur+speed)/100;
                   }
                   else{
                       obj.style[sty]=icur+speed+'px';}
               }
           },30)
       }
       function getStyle(obj,sty) {  //获取样式
    if(obj.currentStyle){
               return obj.currentStyle[sty];   //IE下的
    }
           else {return getComputedStyle(obj,false)[sty]}//火狐下的
    }

    </script>
    </body>
    </html>


    把70和71行的odiv改成obj就可以了,另外60行的“*100”应该放在括号内。

    2回答·959浏览
  • 慕虎6336628 2016-11-24
    一定要加parseFloat吗?

    opacity的值chrome的是小数,IE的是整数,parselnt返回的是整数opacity就不会改变所以用parseFloat返回浮点数,就酱~

    1回答·243浏览
  • qq_耿阳阳_0 2016-11-23
    显示不了动画效果

    var oDiv=document.getElementsByTagName("did");这里did改成div

    1回答·761浏览
  • 星期 2016-11-21
    为什么我这个在火狐里面不行呢
    已采纳 stone310 的回答

    setInterval后面没有加上时间,系统就默认为0

    2回答·731浏览
  • 稼轩93 2016-11-20
    getComputedStyle用法?
    已采纳 stone310 的回答

    这个参数是“伪类”必需的,以前如果不是伪类,必须设置为false,现在可以不写

    1回答·717浏览
  • lin琳琳bilibili 2016-11-18
    currentStyle在浏览器里报错,可是不知道错哪儿。大神求看

    在startmove函数里icur=Math.round(parseFloat(getStyle(obj.attr))*100);中(obj.attr)是逗号,细点心

    2回答·2151浏览
  • new新的开始 2016-11-17
    if(aa==iTarget){ //为什么这里用aa>=iTarget或是<=实现不了呢
    已采纳 疯狂的boy 的回答

    if(aa==iTarget){      //为什么这里用aa>=iTarget或是<=实现不了呢,这句话意思同下:

    iTarget这个词在viviAN讲师第二章或三章的时候就讲过,speed代表是速度,而iTarget代表目标,

    比如说跑步,小明跑了aa米,iTarget目标定的是200米,吹哨子的体育老师在200米等他,当小明到了200米,老师让他停,如同这句话clearInterval(obj.timer);,相反>=和<=,目标就是200米,你跑203米和19几米,多跑和少跑有什么意义。比赛本来就是200米跑步竞赛。

    1回答·980浏览
  • new新的开始 2016-11-17
    Math.round(parseFloat(getStyle(obj,attr))*100))

    因为在chrom和ff 浏览器中 css样式透明度是opacity:0.3; 数值是0到1之间的数值 是有小数的

    2回答·1292浏览
  • 一发入孕 2016-11-06
    为什么我这段代码无法执行呢,F12提示是34样式2.html:40 Uncaught TypeError: Failed to execute 'getComputedStyle' on 'Window': parameter 1 is not of type 'Element'. 522样式2.html:40 Uncaught TypeError: Failed to execute 'getComputedStyle' on 'Window': parameter 1 is not of type '
    已采纳 Dicrector 的回答

    你是从哪拿的代码呀?为啥不去下老师的代码呀。重新听一遍,把思路屡屡再写就会好点

    3回答·3032浏览
  • 慕粉studying 2016-10-29
    三个正方形方块,鼠标滑过会改变宽高透明度,为什么写成for循环就不能运行,而分开写就能正常运行呢
    已采纳 开03975976 的回答
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8;">
    <title>透明度运动</title>
       
    </head>
    <style type="text/css">
    
    body,div{
    margin: 0;
    padding: 0;
    }
    
    li{
    list-style:none;
    width: 200px;
    height: 200px;
    background: red;
    margin-bottom:20px;
    filter:alpha(opacity:70);
    opacity:0.3;
    border:2px solid black;
    fontSize:30px;
    }
    
    </style>
    
    
    <script type="text/javascript">
    
    window.onload=function()
    {
    var lis = document.getElementsByTagName("li");
    var uls = document.getElementsByTagName("ul");
    //为什么写成for循环就不能运行,而分开写就能正常运行呢
    for(var j=0; j<lis.length; j++)
    {
       lis[j].indexTimer  = null;
    
    lis[j].onmouseover=function(){
    move(this,{width:400, height:400, opacity:100})};
    
       lis[j].onmouseout=function(){
    move(this,{width:200, height:200, opacity:30})};
    }
    
    }
    var  indexTimer=null;
    function move(obj,json,fn)//
    {
      clearInterval(obj.indexTimer);//清除每个li的定时器  
      obj.indexTimer=setInterval(
      function()
      {   
      var getArr = 0;
      var flag = true;
      for(var attr in json)
    {
    //取属性值
      if(attr=="opacity")
      {
     getArr =Math.round((parseFloat(getStyle(obj,attr)))*100);
      }
      else
      {
    getArr=parseInt(getStyle(obj,attr));
      }
      //根据目标值计算速度
      var speed=(json[attr]-getArr)/20;
      speed=speed>0?Math.ceil(speed):Math.floor(speed);
        if(attr=="opacity")
    {
    obj.style.opacity =(getArr+speed)/100;
    obj.style.filter = "alpha(opacity:'+(getArr+speed)+')" ;
    }
    else{ obj.style[attr] = getArr+speed + "px";}
    if(getArr!=json[attr])
    {
     flag=false;        
     }
       
    }
    if(flag == true)
     { 
    clearInterval(obj.indexTimer);
     if(fn){fn();};
     }
      },30);
    }
    
    
    function getStyle(obj,attr)
    {
    if(obj.currentStyle)
    {
    return obj.currentStyle[attr];
    }
    else
    {
    return getComputedStyle(obj,false)[attr];
    }
    }
    </script>
    
    
    <body>
    
    <ul>
    <li>1</li>
    <li>2</li>
    <li>3</li>
    </ul>
    
    </body>
    </html>


    2回答·917浏览
  • Abreto 2016-10-27
    提示我TypeError: obj is undefined错误
    已采纳 JettZed 的回答

    startMove方法 里面的parseFolat里面的getStyle里面的“,”写错了,你写成了“.”

    2回答·4169浏览
  • 慕粉aidan 2016-10-23
    ie opacity 获取造成的随意修改属性动画
    已采纳 笛子 的回答

    IE浏览器取出来的也是一个0到1之间的小数。你自己写段代码看看。

    2回答·834浏览
  • qq_小狸猫_03724105 2016-10-18
    鼠标滑过时提示错误,不知道哪里原因啊
    已采纳 颜色不一样的我 的回答

    <!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>


    3回答·1003浏览
数据加载中...
开始学习 免费