使用javascript设置图像不透明度

时间:2013-06-27 15:26:34

标签: javascript html5 css3

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

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 个答案:

答案 0 :(得分:4)

你不需要toString

只是做:

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

您还没有使用toString正确无误。如果你想在任何地方使用它,那就这样做:

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

10是可选的,默认。例如,您可以使用2转换为双系统。

答案 1 :(得分:2)

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

另外,你不需要它。删除它。

答案 2 :(得分:1)

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

顺便说一下 - 您的开场script标记缺少&gt;登录

答案 3 :(得分:0)

如果删除toString,它将起作用。不透明度的值是介于0.0 - 1.0

之间的十进制值

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