JSFiddle - React, Tailwind, and code Playground

by qwertylist

HTML

<script src="/cookie.js"></script>  
 <div class="sidebar-menu hidden-xs hidden-sm"> 
 <div class="main-navigation">
 <ul class="navigation" >
 <li class="inset_header1" id="inset_header1" onClick="click_header_inset(1);"><a href="#"><div class="icon"><i class="fa fa-home"></i></div>пункт 1</a></li>
 <li class="inset_header2" id="inset_header2" onClick="click_header_inset(2);"><a href="#"><div class="icon"><i class="fa fa-pencil"></i></div>пункт 2</a></li> 
 <li class="inset_header3" id="inset_header3" onClick="click_header_inset(3);"><a href="#"><div class="icon"><i class="fa fa-picture-o"></i></div>пункт 3</a></li>
 <li class="inset_header4" id="inset_header4" onClick="click_header_inset(4);"><a href="#"><div class="icon"><i class="fa fa-user"></i></div>пункт 4</a></li> 
 <li class="inset_header5" id="inset_header5" onClick="click_header_inset(5);"><a href="#"><div class="icon"><i class="fa fa-envelope-o"></i></div>пункт 5</a></li>
 </ul>
 </div>
 </div>
<div class="block_inset">

 

 
 <div class="inset_num" id="inset_num1">
 <div class="reltr active" id="board1">A</div> 
 <div class="inset_content">
 <h2>Блок пункта 1</h2>     
 </div>
 </div>
 



 <div class="inset_num" id="inset_num2">
 <div class="reltr inactive" id="board2">B</div>
 <div class="inset_content">
 <h2>Блок пункта 2</h2> 
 </div> 
 </div>
 
 

 <div class="inset_num" id="inset_num3">
 <div class="reltr inactive" id="board3">C</div>
 <div class="inset_content">
 <h2>Блок пункта 3</h2>
 </div>
 </div>


 <div class="inset_num" id="inset_num4">
 <div class="reltr inactive"  id="board4">D</div>
 <div class="inset_content">
 <h2>Блок пункта 4</h2>
 </div>
 </div> 

 
 <div class="inset_num" id="inset_num5">
 <div class="reltr inactive" id="board5">E</div>
 <div class="inset_content">
 <h2>Блок пункта 5</h2>
 </div>
 </div>
    
 </div>

CSS

.active{
display:block;
}
.inactive{
display:none;
}
.block_inset { 
 position:absolute;
 top:0px;
 bottom:0px; 
 left:113px;
 width:340px; 
 height:110%;
 overflow-x:hidden; 
 }
.inset_content { 
 position:relative;
 margin:0px; 
 padding:0px;
 width:100%; 
 height:100%;
 color:#fff;   
 background-color: rgba(0, 0, 0, 0.8); 
 overflow-y:auto;
}
.inset_num { 
 position:absolute; 
 top:0px;
 bottom:0px; 
 width:300px; 
 height:100%;
 left:-300px;
 z-index:3; 
}
.reltr{
 z-index:2; 
 width: 40px;
 height: 100%;
 right:-40px; 
 position: absolute;
 background:#b5b5b5; 
}
 #inset_num2 { 
 top:0px; 
}
 #inset_num3 { 
 top:0px; 
}
 #inset_num4 { 
 top:0px; 
}
 #inset_num5 { 
 top:0px; 
}

JavaScript

num_inset_motor=0;
flag_inset_motor=0;
time_pause_motor=1;
delta_x=10;
set_motor=false;
id_settimeout=0;
open_inset_num=0;
next_open_num=0;
width_header=0;

function click_header_inset(n_inset)
  {
   
   if (!set_motor)
     {
      next_open_num=0;
      if (open_inset_num==0)
        { 
         num_inset_motor=n_inset;
         flag_inset_motor=1;
         set_motor=true;
         motor_inset();
        }
       else
         {
          if (n_inset!=open_inset_num) next_open_num=n_inset;
          num_inset_motor=open_inset_num;
          flag_inset_motor=-1;
          set_motor=true;
          motor_inset();
          
         }
     }
    else
      {
       clearTimeout(id_settimeout);
       if (n_inset==num_inset_motor)
         {
          flag_inset_motor*=-1;
          motor_inset();
         }
        else
          {
           next_open_num=n_inset;
           if (flag_inset_motor>0)
             {
              flag_inset_motor=-1;
              
             }
           motor_inset();
          }
      }
  }

function motor_inset()
  {
   if (num_inset_motor==0) return;
   if (flag_inset_motor==0) return;
   obj_name="inset_num"+num_inset_motor;
   obj_inset=document.getElementById(obj_name);
   x_inset_motor=obj_inset.offsetLeft;
   
   x_inset_motor+=flag_inset_motor*delta_x;
   
   if (flag_inset_motor>0)
     {
      if (x_inset_motor>0)
        {
         x_inset_motor=0;
         set_motor=false;
         open_inset_num=num_inset_motor;
        }
     }
    else
      {
       if (x_inset_motor<=width_header-obj_inset.offsetWidth)
         {
          x_inset_motor=width_header-obj_inset.offsetWidth;
          set_motor=false;
          open_inset_num=0;
          if (next_open_num>0)
            {
             
             num_inset_motor=next_open_num;
             next_open_num=0;
             flag_inset_motor=1;
             set_motor=true;
             
            }
         }
       
      }
  ...