首頁  >  問答  >  主體

javascript - 看源码看不懂了求解

1.如图所示开始是一片浅灰色的背景色,鼠标滑过的时候图片一片一片的显示出来。看源码看不懂了求大神给解析一下,代码很短

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>for的图片生成应用</title>
    <style>
        #picture {
            height: 600px;
            width: 513px;
            position: relative;
            display: block;
            overflow: hidden;
        }
        #cover {
            position: absolute;
            height: 600px;
            width: 520px;
            top: 0;
            left: 0;
            display: block;
            background: transparent;
            font-size: 0;
        }
        p {
            display: inline-block;
            height: 50px;
            width: 50px;
            border: 1px solid #eee;
            background: #eee;
            margin: 0;
        }
    </style>
    <script>
         window.onload = function(){

             var oCover = document.getElementById('cover'),
                 str = '', 
                 bits = document.getElementsByTagName('p');

             for (var i=0; i<200; i++) {
                 str += '<p></p>';
             }
             oCover.innerHTML = str;

             for (var i=0; i<304; i++) {
                 bits[i].onmouseover = function(){
                     this.style.background = 'transparent';
                 }
             }


         }
    </script>
</head>
<body>
    <section id="picture">
        <img src="2-img/pic.jpg">
        <section id="cover"></section>
    </section>
</body>
</html>

为什么创建200个p,却for(i=0;i<304???

高洛峰高洛峰2724 天前361

全部回覆(2)我來回復

  • 伊谢尔伦

    伊谢尔伦2017-04-11 11:39:27

    其实我比较好奇 为什么 bits是有值的…

    明明getElementsByTagName的时候,innerHTML还没有赋值啊!!

    至于304可能只是一个恶趣味,在浏览器里bits里只有200个元素。

    回覆
    0
  • 天蓬老师

    天蓬老师2017-04-11 11:39:27

    写 200 就可以呀

    回覆
    0
  • 取消回覆