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;
}
}
}
...