减去 JavaScript 中的不透明度
Subtracting opacity in javascript
这可能是一个愚蠢的问题,但我无法让这个超级简单的脚本工作。我需要一个按钮,可以将不透明度降低 .1。每次点击时。
我已经尝试了所有这些。
x.style.opacity-.3; //This doesn't work. Doesn't do anything.
x.style.opacity=.3; //This gives me an opacity of .3.
x.style.opacity-=.3; //This gives an opacity of 0. Why?
x.style.opacity--; //This will give opacity of 0 as expected.
我什至尝试过这个:
var timesTen = x.style.opacity*10;
timesTen--;
timeTen/10;
x.style.opacity=timesTen; // This gives opacity of 0;
我希望这个问题的答案与缺乏对运营商的理解有关。但是我已经看了大量的算术教程,它们似乎都充满了整数示例,对我来说效果很好。我什至复制粘贴了其中一些并更改了数字,只是发现它们停止工作。如果这是一个菜鸟问题,我很抱歉(我确信是(。谢谢
当我测试时,您必须先设置不透明度,然后您可以读取它来更改它。
<div id="x" style="opacity:1.0">Hello</div>
x.style.opacity -= 0.3;
因为以上不是标准的一部分(在 Firefox 中也不起作用(,所以写如下:
document.getElementById("x").style.opacity -= 0.3;
在增加不透明度的情况下,parseFloat
是必要的,因为否则会发生字符串连接。或者写-= -0.3
:)
x.style.opacity = parseFloat(x.style.opacity) - 0.1;
为什么这么难?
它
不起作用,因为此时 x.style.opacity
属性不存在,它只是由于 css 而应用。解决方法如下:
.HTML:
<div id="t" style="background: black; opacity: 1;">Hello</div>
<div id="c" style="background: black;">Hello</div>
.JS:
document.getElementById( 't' ).onclick = function() {
// This works
this.style.opacity = this.style.opacity - 0.1;
};
document.getElementById( 'c' ).onclick = function() {
var opacity = this.style.opacity;
// If the property exists, just decrement it
if ( opacity ) {
opacity -= 0.1;
}
// Else, set it (it will only be set once)
else {
opacity = 0.9;
}
};
演示:http://jsfiddle.net/Ralt/xDFBY/
相关文章:
- 如何删除javascript中的不透明度
- 如何使用javascript在rgba中获取不透明度参数
- 在画布上绘制不透明度(行中的点)javascript
- 使用 JavaScript 存储、更改和更新不透明度
- 使用CSS不透明度和Javascript在滚动时淡入淡出
- JavaScript DOM背景不透明度
- 如何使用Javascript获得元素的不透明度
- JavaScript使用计时器和不透明度通过淡入淡出缓慢更改图像
- Javascript不透明度悬停和无限滚动
- 使用 JavaScript 更改 Bootstrap 3 导航栏的背景不透明度
- Javascript 鼠标悬停,不透明度更改
- 减去 JavaScript 中的不透明度
- 在 JavaScript 中添加不透明度无法正常工作
- 如何使用 javascript 动态更改元素的不透明度
- jQuery/JavaScript 函数来更改样式不透明度
- Javascript:由 navicon 继承的切换栏的不透明度
- 使用 Javascript onkeyup() 更改 IE8 中的不透明度(再次)
- 使用javascript计时器更改潜水的不透明度
- 使用javascript设置按钮的不透明度值
- 如果我通过javascript设置不透明度,CSS悬停事件将被取消