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

getStyle(obj,attr)

为啥我的动画不出来

<style>
*{
    margin:0;
    padding:0;
    
    }
  div{
      width:200px;
      height:200px;
      background:red;
      border:4px solid black;
      }
</style>
<script>
 window.onload=function(){
     var odiv=document.getElementById("div1");
     alert(odiv.stye.width);
     odiv.onmouseover=function(){
         startMove();
         }
    }
    
     var timer=null;
     function startMove(){
         clearInterval(timer);
        var odiv=document.getElementById("div1");
         timer=setInterval(function(){
             if(odiv.offsetWidth==0){
              clearInterval(timer);
             }else{
                // odiv.style.width=odiv.offsetWidth-9+'px';
                odiv.style.width=parseInt(getStyle(odiv,width))-1+'px';
                 }
             },30)}
    function getStyle(obj,attr){
         if(obj.currentStyle){
             return obj.currentStyle[attr];
             }else{
             return obj.getComputedStyle(obj,false)[attr];
                 }
        }
</script>
</head>

<body>
<div id="div1" ></div>
</body>
</html>

正在回答

3 回答

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
</head>

<body>
<style>
*{
    margin:0;
    padding:0;
    
    }
  div{
      width:200px;
      height:200px;
      background:red;
      border:4px solid black;
      }
</style>
<script>
 window.onload=function(){
     var odiv=document.getElementById("div1");
     odiv.onmouseover=function(){
         startMove();
         }
    }
    
     var timer=null;
     function startMove(){
         clearInterval(timer);
        var odiv=document.getElementById("div1");
         timer=setInterval(function(){
             if(odiv.offsetWidth==0){
              clearInterval(timer);
             }else{
                // odiv.style.width=odiv.offsetWidth-9+'px';
                odiv.style.width=parseInt(getStyle(odiv,"width"))-1+'px';
                 }
             },30)}
    function getStyle(obj,attr){
         if(obj.currentStyle){
             return obj.currentStyle[attr];
             }else{
             return getComputedStyle(obj,false)[attr];
                 }
        }
</script>
</head>

<body>
<div id="div1" ></div>
</body>
</html>

以上,你的错误好多啊,自己对比吧

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

qq_MissingYou_0 提问者

? 代码都是一样的啊
2017-02-18 回复 有任何疑惑可以回复我~
#2

qq_MissingYou_0 提问者

你的style 和script 都在body里面
2017-02-18 回复 有任何疑惑可以回复我~
#3

尹为者 回复 qq_MissingYou_0 提问者

我也是初学者,遇到问题不可怕,慢慢来总是能找到,我已经给你正确的了,本来希望你试着自己找出来不一样的地方,我也是找了十多分钟才找到的, odiv.style.width=parseInt(getStyle(odiv,"width"))-1+'px'; return getComputedStyle(obj,false)[attr]; 这两句改了,毕竟过了一天了,参考下
2017-02-19 回复 有任何疑惑可以回复我~
#4

qq_MissingYou_0 提问者

非常感谢!
2017-02-19 回复 有任何疑惑可以回复我~
#5

尹为者 回复 qq_MissingYou_0 提问者

width加引号,第二个return不需要前置obj
2017-02-20 回复 有任何疑惑可以回复我~
查看2条回复

odiv.style.width=parseInt(getStyle(odiv,width))-1+'px';你的width没有加引号


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

window.onload=function(){
     var odiv=document.getElementById("div1");
     alert(odiv.stye.width);-----style
     odiv.onmouseover=function(){
         startMove();

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

qq_MissingYou_0 提问者

能弹窗 但是窗口里面没得数值 是空白的 动画也没有
2017-02-18 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

getStyle(obj,attr)

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