let side_bar=document.getElementById('side_bar') let width=side_bar.clientWidth side_bar.style.left=-(width)+'px' function animate({timing,draw,duration,on_done}){ start = performance.now(); requestAnimationFrame(function animate(time){ let timeFraction = (time - start) / duration; if (timeFraction>1) timeFraction = 1; let progress = timing(timeFraction) draw(progress); if(timeFraction<1){ requestAnimationFrame(animate) } else { if(typeof on_done === "function") on_done(); } }) } function open_sb(){ side_bar.style.opacity="1"; animate({ duration: 400, timing(timeFraction){ return Math.pow(timeFraction,2); }, draw(progress){ side_bar.style.left=(progress*width)-width+'px' } }); } function close_sb(){ animate({ duration: 800, timing(timeFraction){ return Math.pow(timeFraction, 2); }, draw(progress){ document.getElementById("side_bar").style.left=((1-progress)*width)-width+'px' }, on_done(){ side_bar.style.opacity="0"; } }); } fetch('assets/fetch-content-list.php?type=partial',{ cache:'no-cache' }) .then(response=>response.json()) .then(res=>{ let folder='assets/made_content/partial/' input_str='' for(i in res){ if(res[i][1].match(/.png|.PNG|.jpg|.JPG|.jpeg|.JPEG|.gif|.GIF/g)){ input_str+=`
` } else if(res[i][1].match(/.mp4|.MP4/g)){ input_str+='
'+ '
'; } } document.getElementById('image_box_container').innerHTML=input_str }) image_container_child_width=0 image_container_child_count=0 function set_size(){ let img_wrap=document.getElementsByClassName("image_box_img_wrap") image_container_child_width=img_wrap[0].clientWidth image_container_child_count=img_wrap.length-1 setTimeout(set_size,1000) } setTimeout(set_size,1000) last_index=0 last_pos=0 index=0 move_image_box_locked=false function move_image_box(dir){ if(move_image_box_locked==false){ move_image_box_locked=true let direction='' let sub='' if(dir=="+"){ index=index+1 direction='' sub='' } else { direction='1-' index-=1 sub='-'+image_container_child_width } animate({ duration:800, timing(TF){ return Math.pow(TF,2); }, draw(Prog){ document.getElementById("image_box_container").scrollLeft=(eval(direction+Prog)*(image_container_child_width))+eval(last_pos+sub)+(10*index) }, on_done(){ last_pos=(image_container_child_width*index); if(index<0){ index=0; last_pos=0; } if(index>image_container_child_count){ index=image_container_child_count; last_pos=(image_container_child_width*index); } move_image_box_locked=false } }) } }