隔三行变色扩展?

223 阅读2分钟
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <style>
          *{
              margin: 0;
              padding: 0;
          }
          ul{
              list-style: none;
              margin: 30px auto;
              width: 800px;
              border: 1px solid red;
          }
          ul li{
              text-align: center; 
              height: 40px;
              line-height: 40px;
          }
          .bg0{
              background: hotpink;
          }
          .bg1{
              background: yellow;
          }
          .bg2{
              background:greenyellow;
          }
          .hover{
              background: brown;
          }
    </style>
</head>
<body>
    <ul id="list">
        <li>腾讯视频-中国领先的在线视频媒体平台,海量高清视频</li>
        <li>腾讯视频-中国领先的在线视频媒体平台,海量高清视频</li>
        <li>腾讯视频-中国领先的在线视频媒体平台,海量高清视频</li>
        <li>腾讯视频-中国领先的在线视频媒体平台,海量高清视频</li>
        <li>腾讯视频-中国领先的在线视频媒体平台,海量高清视频</li>
        <li>腾讯视频-中国领先的在线视频媒体平台,海量高清视频</li>
        <li>腾讯视频-中国领先的在线视频媒体平台,海量高清视频</li>
        <li>腾讯视频-中国领先的在线视频媒体平台,海量高清视频</li>
        <li>腾讯视频-中国领先的在线视频媒体平台,海量高清视频</li>
        <li>腾讯视频-中国领先的在线视频媒体平台,海量高清视频</li>
        <li>腾讯视频-中国领先的在线视频媒体平台,海量高清视频</li>
        <li>腾讯视频-中国领先的在线视频媒体平台,海量高清视频</li>
        <li>腾讯视频-中国领先的在线视频媒体平台,海量高清视频</li>
        <li>腾讯视频-中国领先的在线视频媒体平台,海量高清视频</li>
        <li>腾讯视频-中国领先的在线视频媒体平台,海量高清视频</li>
        <li>腾讯视频-中国领先的在线视频媒体平台,海量高清视频</li>
        <li>腾讯视频-中国领先的在线视频媒体平台,海量高清视频</li>
        <li>腾讯视频-中国领先的在线视频媒体平台,海量高清视频</li>
    </ul>  
    <script>
        var oUl=document.getElementById('list');
        var oLis=oUl.getElementsByTagName('li');
        //console.log(oLis);
        for(var i=0;i<oLis.length;i++){
            //console.log(i); 索引是0-17
            oLis[i].className = 'bg'+(i%3);
            
            oLis[i]._index=i;
            
            oLis[i].onclick=function(){
                 //console.log(i); 每次都是18,因为在没点击之前,最外层的for循环早都循环完了,所以我们需要存索引
                 var $index=this._index;
                 //console.log($index); 变成正常的索引了  从0-17
            }
            oLis[i].onmouseover=function(){
                 this.className='hover';
            }
            oLis[i].onmouseout=function(){
                 this.className='bg'+(this._index%3); 
            }
        }

    </script>  
</body>
</html>