javascript - 过渡不适用于元素

标签 javascript css css-transitions

我想要一个位于页面中心的 div(我现在使用 300px),几秒钟后,我想让第二个 div 可见,并使它们都位于中心,相差 50px,这就是我现在所做的,我的第一个问题是为什么第二个 div 的不透明度变化不适用?

<!DOCTYPE html>
<html>
<head>
    <title>Whatever</title>
    <meta charset="utf-8" />
    <style type="text/css">
        #main {
            position: absolute;
            top: 200px;
            left: 300px;
        }

        div.c {
            width: 200px;
            height: 200px;
            float:left;
            position:relative;
            left:200px;
            -webkit-transition:left 2s;
        }

        #left {
            background-color: palevioletred;
        }

        #right {
            -webkit-transition:opacity 2s;
            background-color: ThreeDDarkShadow;
            opacity:0;
        }
    </style>

    <script type="text/javascript">
        window.onload = function () {
            setTimeout("myfunc()", 3000);
        }

        function myfunc() {
            var stupido = document.getElementsByClassName("c");
            for (var i in stupido) {
                stupido[i].style.left = 0;
            }
            document.getElementById("right").style.opacity = 1;
        }
    </script>
</head>
<body>
    <div id="main">
        <div id="left" class="c">x</div>
        <div id="right" class="c">x</div>
    </div>
</body>
</html>

最佳答案

作为stupido是一个 HTMLCollection它不是数组,而是 length属性(property)被循环通过。 stupido[i].style === undefined , 产生错误,脚本崩溃。

更改 for(var i in stupido)for(i=0; i<stupido.length; i++)
另外,don't use string in setTimeout when possible

Working fiddle

关于javascript - 过渡不适用于元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13663754/

相关文章:

css - 结合尺寸和平移过渡会导致 Safari 卡顿

html - 使用 css 更改按钮内容 : text from right to left

javascript - 使用 jquery 将 JSON 解析为 HTML

css - 如何通过嵌套在 Sass 中向属性选择器添加附加信息?

javascript - 变量 $http 未定义

html - 如何在没有 "phantom"行的情况下创建包含两列内容的列表项?

javascript - 如何显示和隐藏内部 div onclick 最多 3 个级别?

javascript - 使用幻灯片过渡移动 div

javascript - 为什么我无法访问我的 .then() promise 中的 this.state 变量?

javascript - 在滚动上使用 javascript 更改 css 的框阴影