Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/454.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用javascript设置图像不透明度_Javascript_Html_Css - Fatal编程技术网

使用javascript设置图像不透明度

使用javascript设置图像不透明度,javascript,html,css,Javascript,Html,Css,你好!老实说,这个问题有点复杂。我想知道为什么下面这行代码不起作用: pic.style.opacity = toString((5-z)/10); 为什么我认为它应该起作用 opacity成员变量是一个字符串,因此它需要是一个字符串。因此,只要系统计算表达式后toString方法存在,它就应该转换为字符串,因此它应该是可行的。 注:z是一个整数,其值从0到4不等 如果有人想自己测试: <!DOCTYPE html> <html lang="en" xmlns="h

你好!老实说,这个问题有点复杂。我想知道为什么下面这行代码不起作用:

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>
你不需要尝试

只要做:

document.getElementById("asd").style.opacity = (5-z)/10;
无论如何,您都没有使用toString更正。如果您想在任何地方使用它,请这样做:

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

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

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


顺便说一下,您的开始脚本标记缺少一个>符号,您无意中调用了window.toString。toString方法作为要转换的项的方法调用


而且,你不需要它。卸下它。

如果卸下toString,它会工作的。“不透明度”的值是介于0.0到1.0之间的十进制值


进一步阅读:

您不需要.toString;pic.style.opacity=5-z/10;除此之外,.toString的工作方式正好相反,5-z/10.toString是的,这就解决了它。谢谢。为了显示它的效果,我添加了一个背景色来说明效果,因为图像不存在。如果这解决了问题,您应该选择它。