javascript - 这个简短的 Javascript 有什么问题?

标签 javascript css function stylesheet opacity

我一直在查看这个 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/

相关文章:

javascript - 调用 native 浏览器功能,即使它已被覆盖

css - 定位一个 div

html - 在 Joomla 中添加 CSS 容器

html - 用背景填充空 div 并扩展父标签的尺寸

python - scipy.optimize 最小化的结果关闭

c - 无法将结构传递给 C 中的线程函数

javascript - 如何使用 NodeJS 组织构建、服务器、客户端和共享 JavaScript 代码

javascript - Twitter bootstrap typeahead 无法添加到动态创建的元素

javascript - php在目录中创建文件

javascript - 等待递归函数完成