javascript 색상 블록 동적 표시 보고서 효과 구현

5174 단어 js동태색 블록
html 색상 블록 을 이용 하여 데 이 터 를 동적 으로 보 여 줍 니 다.

<style type="text/css">
 *{
 padding: 0;
 margin: 0;
 }
 .tubiao,.jihua,.shiji,.riqi{
 width: 100%;
 overflow: hidden;
 margin-top: 10px;
 }
 .left{
 width: 10%;
 float: left;
 text-align: center;
 height: 25px;
 line-height: 25px;
 }
 .right{
 width: 90%;
 float: right;
 height: 25px;
 }
 span {
 width: 5%;
 height: 100%;
 text-align: center;
 display: inline-block;
 }
 </style>

<body>
 <div class="tubiao">
 <div class="jihua">
 <div class="left">  </div>
 <!--  span     -->
 <div class="right plan"></div>
 </div>
 <div class="shiji">
 <div class="left">  </div>
 <!--  span     -->
 <div class="right act"></div>
 </div>
 <div class="riqi" id="day_id">
 <!--       -->
 <div class="right day"></div>
 </div>
 </div>
 <script type="text/javascript">
 var temp1="0-0.5-2-2-2-2-1-1";//    (      )
 var temp2="1-1-2-1-2-0-0-0";//    (      ) 
 var temp3="5/19-5/20-5/21-5/22-5/23-5/24-5/25-5/26-5/27-5/28";//    
 var temp=temp1+"~"+temp2+"~"+temp3; 
 var plan = document.getElementsByClassName("plan")[0];
 var act = document.getElementsByClassName("act")[0];
 var day = document.getElementsByClassName("day")[0];
 var num = 20;//      
 load_first(temp);
 //           
 function load_first(temp){
 var demo=temp.split("~");
 var d1=demo[0].split("-");//    (      )  
 var d2=demo[1].split("-");////    (      )  
 var d3=demo[2].split("-");//      
 for(var i=0;i<d3.length;i++){
 time_span(d3[i]);
 }
 //alert("6:"+d1.length+"---"+"3:"+d2.length);
 //alert("d3.length:"+d3.length);
 for(var i=0;i<d1.length;i++){ 
 add_span(d1[i],d2[i],i);
 }
 document.getElementById("day_id").style.marginLeft="-30px"; 
 } 
 //     ,a        ,b        
 function add_span(a,b,i){
 //  span 
 var span1 = document.createElement("span");
 var span2 = document.createElement("span");
 //      
 var spa = "rgba(" + rnd(0,255)+ "," + rnd(0,255)+ ","+ rnd(0,255)+ ","+ rnd(0.5,1) +")";//         
 if(i==0){
 span1.style.backgroundColor = "000000";
 //clientWidth        (    , border)
 span1.style.width = (plan.clientWidth/num*a) + "px";//         
 //    span1 plan
 plan.appendChild(span1);
 span2.style.backgroundColor = "000000";
 span2.style.width = (plan.clientWidth/num*b) + "px";//         
 act.appendChild(span2);
 }else{
 //alert("a:"+a+"b:"+b+"i:"+i);
 if(a=="0"){
 span1.style.backgroundColor = "000000"; 
 span1.style.width = (plan.clientWidth/num*a) + "px";//         
 //    span1 plan
 plan.appendChild(span1);
 }else{
 span1.style.backgroundColor = spa;
 //clientWidth        (    , border)
 span1.style.width = (plan.clientWidth/num*a) + "px";//         
 //    span1 plan
 plan.appendChild(span1);
 }
 if(b=="0"){
 span2.style.backgroundColor = "000000";
 span2.style.width = (plan.clientWidth/num*b) + "px";//         
 act.appendChild(span2); 
 }else{
 span2.style.backgroundColor = spa;
 span2.style.width = (plan.clientWidth/num*b) + "px";//         
 act.appendChild(span2);
 } 
 }
 } 
 //       
 function time_span(time){
 //  span 
 var span = document.createElement("span"); 
 span.style.width = (plan.clientWidth/num*1) + "px";//   span    
 span.innerHTML = "" + time;
 day.appendChild(span);
 }
 //    
 function rnd(min,max){
 return Math.round(Math.random()*(max - min)+min); 
 }
 function QueryData() {
 var displayStyle = "1";
 $.ajax({
 type: "post",
 url: "Test.aspx",
 dataType: "text",
 data: { "DispalyStyle": displayStyle },
 error: function (XMLHttpRequest, textStatus, errorThrown) {
 alert(errorThrown + XMLHttpRequest.responseText);
 },
 success: function (json) {
 try {
 load_first(json);
 }
 catch (e) { }
 }
 });
 }
 //QueryData();
 </script>
 </body>
이상 은 본 고의 모든 내용 입 니 다.본 고의 내용 이 여러분 의 학습 이나 업무 에 어느 정도 도움 이 되 기 를 바 랍 니 다.또한 저 희 를 많이 지지 해 주시 기 바 랍 니 다!

좋은 웹페이지 즐겨찾기