0

再会!老实说,问题有点复杂。我想知道为什么以下代码行不起作用:

pic.style.opacity = toString((5-z)/10);

为什么我认为它应该工作?

  • opacity 成员变量是一个字符串,因此它需要是一个字符串,因此只要在系统计算表达式后存在“toString”方法,它就应该变成一个字符串,因此它应该是可行的。

注意:z 是一个整数,取值范围为 0 到 4。

如果有人想自己测试:

<!DOCTYPE html>

    <html lang="en" xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta charset="utf-8" />
    <title></title>
    <style>
        #asd{
            background-image : url(fry.jpg);
            margin-left:20%;
            margin-top:20%;
            height:100px;
            width:100px;
            }
    </style>
</head>
<body>
    <div id="asd"></div>
</body>
</html>
<script
var z = 3;
function foo(){
   document.getElementById("asd").style.opacity = toString((5-z)/10);
}
foo();
    </script>
4

4 回答 4

4

你不需要toString

做就是了:

document.getElementById("asd").style.opacity = (5-z)/10;

toString无论如何,您没有使用正确的。如果您想在任何地方使用它,请这样做:

var number = 42.0;
var string = number.toString(10);

是可选的10和默认的。例如,您可以使用2在双系统中进行转换。

于 2013-06-27T15:28:51.453 回答
2

你无意中打电话window.toString()。该toString方法作为您要转换的项目的方法调用。

另外,你不需要它。去掉它。

于 2013-06-27T15:29:04.410 回答
1

在尝试访问/设置任何元素的不透明度之前,您需要等待文档加载。如果您使用的是 jQuery,请检查 javascript 或 $(document).ready() 的 onLoad 事件。

顺便说一句 - 您的开始script标签缺少 > 符号

于 2013-06-27T15:28:55.853 回答
0

如果您删除 toString,它将起作用。不透明度的值是 0.0 - 1.0 之间的十进制值

进一步阅读:http ://www.w3schools.com/css/css_image_transparency.asp

于 2013-06-27T15:35:24.327 回答