使用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是的,这就解决了它。谢谢。为了显示它的效果,我添加了一个背景色来说明效果,因为图像不存在。如果这解决了问题,您应该选择它。