首页 > 代码库 > innerHTML应用--自动生成一个V字形(高级版)

innerHTML应用--自动生成一个V字形(高级版)

一、效果图按钮可以多次点击。

wKiom1RF_p3CAgzgAACAPa-vVUw364.jpg

二、HTML+CSS代码。

<style>
.box{ width:800px; margin:90px auto;}
.btn{ padding:5px 10px; color:#fff; background:#ff6600; cursor:pointer; font-size:16px; border-radius:5px;}
.list{ position:relative; margin-top:20px;}
.list li{ width:48px; height:48px; position:absolute; left:0; top:0;  line-height:50px; text-align:center; font-size:30px; border:1px solid #000; background:red; color:#fff;}
</style>

<div class="box">
    <input type="button" value="http://www.mamicode.com/自动生成可以变化的V字型" id="btn" class="btn" />
    <ul id="list" class="list"></ul>
</div>

三、js代码。

<script>

window.onload = function(){

    var oBtn = document.getElementById(‘btn‘);
    var oUl =document.getElementById(‘list‘);
    var aLi =oUl.getElementsByTagName(‘li‘);
    var on =true;
    var onOff = true;
    var onOff1 = false;
    var onOff2 = false;
    var onOff3 = false;
    
    var len =5;
    
    oBtn.onclick = function(){
        
        if(on){
            for(var i=0;i<len;i++){
                oUl.innerHTML+=‘<li>‘+i+‘</li>‘;
            }
            on=false;
        }
        
        if(onOff){
            
            for(var i=0;i<len;i++){

                aLi[i].style.left=(0+i)*50+‘px‘;

                if(i<Math.floor(len/2)){
                    aLi[i].style.top=(Math.floor(len/2)-i)*50+‘px‘;
                }else{
                    aLi[i].style.top=(i-Math.floor(len/2))*50+‘px‘;
                }
    
            }
            onOff=false;
            onOff1=true;
        }else if(onOff1){
            
            for(var i=0;i<len;i++){
                
                aLi[i].style.left=(0+i)*50+‘px‘;
                aLi[i].style.top=(0+i)*50+‘px‘;
                    
                if(i<Math.floor(len/2)){
                    aLi[i].style.top=(0+i)*50+‘px‘;
                }else{
                    aLi[i].style.left=(Math.floor(len/2)-(i-Math.floor(len/2)))*50+‘px‘;
                    
                }
    
            }
            onOff1=false;
            onOff2=true;
        
        }else if(onOff2){
            
            for(var i=0;i<len;i++){
                
                
                aLi[i].style.left=(0+i)*50+‘px‘;
                
                if(i<Math.floor(len/2)){
                    aLi[i].style.top=(0+i)*50+‘px‘;        
                }else{
                    aLi[i].style.top=(Math.floor(len/2)-(i-Math.floor(len/2)))*50+‘px‘;
                }
        
            }
            onOff2=false;
            onOff3=true;
        }else if(onOff3){
            for(var i=0;i<len;i++){
                
                aLi[i].style.top=(0+i)*50+‘px‘;    
                
                if(i<=Math.floor(len/2)){
                    aLi[i].style.left=(Math.floor(len/2)-2-(i-Math.floor(len/2)))*50+‘px‘;        
                }else{
                    aLi[i].style.left=(i-2)*50+‘px‘;
                }
            }
            onOff3=false;
            onOff=true;
        }
            

    }

</script>

本文出自 “帅帅” 博客,谢绝转载!

innerHTML应用--自动生成一个V字形(高级版)