Javascript getComputedStyle属性值

Javascript getComputedStyle属性值,javascript,css,getcomputedstyle,Javascript,Css,Getcomputedstyle,我试图报告我创建的椭圆形div的边界半径的值,但返回了一个未定义的值。有人能解释为什么吗?我是犯了一个简单的错误,还是我的代码有问题?谢谢大家! <!DOCSTYLE html> <html> <head> <title>CSS3</title> <style> #oval{ width: 500px; height: 300px;

我试图报告我创建的椭圆形div的边界半径的值,但返回了一个未定义的值。有人能解释为什么吗?我是犯了一个简单的错误,还是我的代码有问题?谢谢大家!

<!DOCSTYLE html>
<html>
<head>
    <title>CSS3</title>
    <style>
        #oval{
            width: 500px;
            height: 300px;
            background: black;
            border-bottom-left-radius: 50%;
            border-bottom-right-radius: 50%;
            border-top-left-radius: 50%;
            border-top-right-radius: 50%;
        }
    </style>
    <script>
        var myOval = document.getElementById('oval');
        var bRadBL = window.getComputedStyle(myOval).getPropertyValue("border-bottom-left-radius");
        var bRadBR = window.getComputedStyle(myOval).getPropertyValue("border-bottom-right-radius");
        var bRadTL = window.getComputedStyle(myOval).getPropertyValue("border-top-left-radius");
        var bRadTR = window.getComputedStyle(myOval).getPropertyValue("border-top-right-radius");
        var bRad = getComputedStyle(myOval).getPropertyValue("borderRadius");
        function compStyle(){
            alert("Top Left Radius: "+bRadTL+"\nBottom Left Radius: "+bRadBL+"\nTop Right Radius: "+bRadTR+"\nBottom Right Radius: "+bRadBR);
     }
    </script>
</head>
<body>
    <div id="oval"></div>
    <input type="button" value="click me" onClick="compStyle()"/>
</body>
</html>

CSS3
#椭圆形{
宽度:500px;
高度:300px;
背景:黑色;
边界左下半径:50%;
边框右下半径:50%;
边界左上半径:50%;
边界右上角半径:50%;
}
var myOval=document.getElementById('oval');
var bRadBL=window.getComputedStyle(myOval.getPropertyValue(“边框左下半径”);
var bRadBR=window.getComputedStyle(myOval.getPropertyValue(“边框右下半径”);
var bRadTL=window.getComputedStyle(myOval.getPropertyValue(“边框左上半径”);
var bRadTR=window.getComputedStyle(myOval.getPropertyValue(“边框右上半径”);
var bRad=getComputedStyle(myOval).getPropertyValue(“borderRadius”);
函数compStyle(){
警报(“左上半径:+bRadTL+”\n底部左半径:+bRadBL+”\n顶部右半径:+bRadTR+”\n底部右半径:+bRadBR);
}

编辑:我尝试了“borderBottomLeftRadius”和“borderBottomLeftRadius”,结果相同。我应该使用哪一个?

在渲染元素之前运行脚本。在html元素id声明后,将脚本块移动到正文的末尾:

#椭圆形{
宽度:500px;
高度:300px;
背景:黑色;;
边界左下半径:50%;
边框右下半径:50%;
边界左上半径:50%;
边界右上角半径:50%;
}

var myOval=document.getElementById('oval');
var bRadBL=window.getComputedStyle(myOval.getPropertyValue(“边框左下半径”);
var bRadBR=window.getComputedStyle(myOval.getPropertyValue(“边框右下半径”);
var bRadTL=window.getComputedStyle(myOval.getPropertyValue(“边框左上半径”);
var bRadTR=window.getComputedStyle(myOval.getPropertyValue(“边框右上半径”);
var bRad=getComputedStyle(myOval).getPropertyValue(“borderRadius”);
函数compStyle(){
警报(“左上半径:+bRadTL+”\n底部左半径:+bRadBL+”\n顶部右半径:+bRadTR+”\n底部右半径:+bRadBR);
}

您的脚本在元素存在之前执行。将
函数compStyle(){
上面的部分移到函数本身中。嘿,谢谢!我一定错过了教科书中解释这一点的部分。尽管我肯定没有,而且这是一本糟糕的教科书(任何能让我感觉自己是一个更好的程序员,晚上睡得更好的东西).再次感谢!哈哈。这是基础知识,所以如果书中没有,那就扔掉这本书。不管怎样,也许这本书提到了这一点。