我一直在查看这个 JS,我正试图弄清楚为什么它没有任何效果。 它应该 - 以指定的时间间隔运行该函数,并且直到某个元素的不透明度为 0 时,它应该继续降低该元素的不透明度。
触发这个间隔函数时,屏幕上没有任何反应。有人有什么想法吗?
setInterval(fadeover, 100);
function fadeover() {
if (document.getElementById("rightopright").style.opacity > 0) {
var curropac;
curropac = document.getElementById("rightopright").style.opacity;
document.getElementById("rightopright").style.opacity = (curropac - 0.1);
}
}
我确定我在这里做了一些愚蠢的事情,但无法弄清楚是什么...... 任何帮助将不胜感激!
最佳答案
可能您没有为内联 opacity
属性设置默认值,因此它是一个空字符串(不是大于零的值)。
你需要测试这种情况:
function fadeover() {
var el = document.getElementById("rightopright");
var op = el.style.opacity;
if (op === "") {
op = 1;
}
if (op > 0) {
el.style.opacity = (op - 0.1);
}
}
... 或者忘掉 JavaScript 动画,用 CSS 3 transition 来做相反。
关于javascript - 这个简短的 Javascript 有什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17568282/