рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд╕реНрд▓рд╛рдЗрдбрд░ рдХреЗ рд╕рд╛рде рдПрдХ рдЫрд╡рд┐ рдЧреИрд▓рд░реА рдЬрдирд░реЗрдЯрд░ рд▓рд┐рдЦрдирд╛



рд╢реБрдн рджрд┐рди, рджреЛрд╕реНрддреЛрдВ!

рдкрд░рд┐рдЪрдп рдХреЗ рдмрдЬрд╛рдп (рд╕рдорд╕реНрдпрд╛ рдХрдерди)


рдпрд╣ рд╕рдм рдЕрдиреНрдп рд▓реЛрдЧреЛрдВ рдХреЗ рд╕реНрд▓рд╛рдЗрдбрд░ (рдЬреИрд╕реЗ рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рдкрд╣рд▓реЗ рд╕реЗ рддреИрдпрд╛рд░ рд╕рдорд╛рдзрд╛рди, рдХреЗ рдЕрдзреНрдпрдпрди рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ bxSlider , owlcarousel рдФрд░ рдЪрд╛рд▓рд╛рдХ )ред рдХрд┐рд╕реА рджрд┐рди рдореИрдВ рдЗрди рдЙрдкрдХрд░рдгреЛрдВ (рдореАрдареЗ рд╕рдкрдиреЗ) рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдкрд░ рд╡рд┐рд╕реНрддреГрдд рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рд▓рд┐рдЦреВрдВрдЧрд╛ред рдЖрдкрдХрд╛ рд╕реНрд▓рд╛рдЗрдбрд░ рд▓рд┐рдЦрдиреЗ рдХреА рдЗрдЪреНрдЫрд╛ рдереАред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЬрд▓реНрдж рд╣реА (рд╣реИрдмреЗ рдкрд░ рдХрдИ рд▓реЗрдЦреЛрдВ рдХреЛ рдкрдврд╝рдиреЗ рдХреЗ рдмрд╛рдж), рдпрд╣ рдПрд╣рд╕рд╛рд╕ рд╣реБрдЖ рдХрд┐ рдмрд╕ рдПрдХ рд╕реНрд▓рд╛рдЗрдбрд░ wimps рдХреЗ рд▓рд┐рдП рд╣реИред рдХреБрдЫ рдЕрдзрд┐рдХ рдХрдЯреНрдЯрд░рдкрдВрдереА рдХреА рдЬрд░реВрд░рдд рд╣реИред

рдирддреАрдЬрддрди, рдореИрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд╛рд░реНрдп рдХреЗ рд╕рд╛рде рдЖрдпрд╛: рдПрдХ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд╕реНрд▓рд╛рдЗрдбрд░ рдХреЗ рд╕рд╛рде рдПрдХ рдЕрдиреБрдХреВрд▓реА рдЧреИрд▓рд░реА рдЬрдирд░реЗрдЯрд░ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдПред

рд╢рд░реНрддреЗрдБ:

  • рдХрд┐рд╕реА рднреА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рдЕрдкрд▓реЛрдб рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ (рдЕрдкрдиреА рд╣рд╛рд░реНрдб рдбреНрд░рд╛рдЗрд╡ рдкрд░ рдХрд╣реАрдВ рд╕реЗ рднреА)ред
  • рдЧреИрд▓рд░реА рдореЗрдВ рдЕрдкрд▓реЛрдб рдХреА рдЧрдИ рдЫрд╡рд┐рдпрд╛рдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рдПрдЪрдЯреАрдПрдордПрд▓ 5 рд╢рдмреНрджрд╛рд░реНрде рдХреЗ рдЕрдиреБрдкрд╛рд▓рди рдореЗрдВ рдорд╛рд░реНрдХрдЕрдк "рдордХреНрдЦреА рдкрд░" рдмрдирддрд╛ рд╣реИред
  • рдЧреИрд▓рд░реА рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рд╕реНрддрд╛рд╡реЛрдВ рдХреЗ рд╕рд╛рде рд╕реНрдХреНрд░реАрди рдкрд░ рд╕рдорд╛рди рд░реВрдк рд╕реЗ рдЕрдЪреНрдЫреА рд▓рдЧрддреА рд╣реИред
  • рдЬрдм рдЖрдк рдХрд┐рд╕реА рднреА рдЫрд╡рд┐ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдПрдХ рд╕реНрд▓рд╛рдЗрдбрд░ рдЙрддреНрдкрдиреНрди рд╣реЛрддрд╛ рд╣реИред
  • рд╕реНрд▓рд╛рдЗрдбрд░ рдХреЛ рдЬреЗрдирд░реЗрдЯ рдХрд░рддреЗ рд╕рдордп, рдкреГрд╖реНрдарднреВрдорд┐ рдХреЛ рдХрд╛рд▓рд╛ рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
  • рдХреНрд▓рд┐рдХ рдХреА рдЧрдИ рдЫрд╡рд┐ рдкрд╣рд▓реА рд╕реНрд▓рд╛рдЗрдб рд╣реИред
  • рд╕реНрд▓рд╛рдЗрдб рд╕реНрд╡рд┐рдЪрд┐рдВрдЧ рдХреЛ DOM рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
  • рд╕реНрд▓рд╛рдЗрдб рдЖрд╕рд╛рдиреА рд╕реЗ рд╕реНрд╡рд┐рдЪред
  • рдмрдЯрди рдФрд░ рдХреАрдмреЛрд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реНрд▓рд╛рдЗрдб рд╕реНрд╡рд┐рдЪрд┐рдВрдЧ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ред
  • рд╡рд░реНрддрдорд╛рди рд╕реНрд▓рд╛рдЗрдб рдФрд░ рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдХреАрдмреЛрд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЧреИрд▓рд░реА рдореЗрдВ рд▓реМрдЯрдиреЗ рдХреА рдХреНрд╖рдорддрд╛ред
  • рд╢реБрджреНрдз рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ (рдЬреЗрдПрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рднреА рдорд╛рд░реНрдХрдЕрдк)ред
  • рдиреНрдпреВрдирддрдо рдХреЛрдбред

рддреЛ, рдЪрд▓рд┐рдП (рдЬреИрд╕рд╛ рдХрд┐ рдЧрдЧрд╛рд░рд┐рди рдиреЗ рдХрд╣рд╛, рдЕрдВрддрд░рд┐рдХреНрд╖ рдореЗрдВ рдЬрд╛ рд░рд╣рд╛ рд╣реИ)ред

рдорд╛рд░реНрдХрдЕрдк рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
<div class="wrap">
    <input type="file" multiple accept="image/*">
    <button>generate gallery</button>
</div>

рджрд┐рд▓рдЪрд╕реНрдк рдЪреАрдЬреЛрдВ рдореЗрдВ рд╕реЗ, рд╢рд╛рдпрдж, рдЗрдирдкреБрдЯ рдЯреИрдЧ рдХреЗ рдХрдИ рдФрд░ рд╕реНрд╡реАрдХрд╛рд░ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рдкрд╣рд▓реА рд╡рд┐рд╢реЗрд╖рддрд╛ рдЖрдкрдХреЛ рдХрдИ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЕрдкрд▓реЛрдб рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИ, рджреВрд╕рд░рд╛ - рдЙрди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рдкреНрд░рдХрд╛рд░реЛрдВ рдкрд░ рдПрдХ рдлрд╝рд┐рд▓реНрдЯрд░ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдорд╛рди рдХрд╛ "рдЫрд╡рд┐ / *" рдорд╛рди рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдХреЗрд╡рд▓ рдЫрд╡рд┐рдпрд╛рдВ (рдХреЛрдИ рднреА) рдЕрдкрд▓реЛрдб рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИрдВред

рддреБрд░рдВрдд рд╕реБрдВрджрд░рддрд╛ рд▓рд╛рдУ (рд╢реИрд▓рд┐рдпреЛрдВ рдХреЛ рдЬреЛрдбрд╝реЗрдВ):
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    min-height: 100vh;
    background: radial-gradient(circle, skyblue, steelblue);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

button {
    padding: 0.25em;
    font-family: monospace;
    text-transform: uppercase;
    cursor: pointer;
}

.darken {
    position: absolute;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.4);
    z-index: -1;
}

.slider {
    width: 100%;
    display: inherit;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
}

figure {
    margin: 0.5em;
    width: 300px;
    display: inherit;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    transition: 0.2s;
}

figcaption {
    font-size: 1.2em;
    text-transform: capitalize;
    text-align: center;
    margin-bottom: 0.25em;
    color: #ddd;
    text-shadow: 1px 1px rgba(0, 0, 0, 0.4);
}

img {
    max-width: 80%;
    max-height: 80vh;
    cursor: pointer;
}

.button {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 30px;
    background: none;
    border: none;
    outline: none;
    filter: invert();
}

.left {
    left: 2em;
}

.right {
    right: 2em;
}

.close {
    top: 2em;
    right: 1em;
}


(.Darken - dimming) рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реИред

рдЪрд▓ рд░рд╣рд╛ рд╣реИ ... рдЬреЗрдПрд╕ рдХреЗ рд▓рд┐рдПред

рд╣рдо рдмрдЯрди рдвреВрдВрдврддреЗ рд╣реИрдВ рдФрд░ рдЙрд╕ рдкрд░ рд╢реНрд░реЛрддрд╛ рдХреЛ рд▓рдЯрдХрд╛рддреЗ рд╣реИрдВ:
let button = document.querySelector("button");
button.addEventListener("click", generateGallery);

рд╡рд╛рдкрд╕реА рдХреЗ рдмрд┐рдирд╛ "рдкрд░рд┐рднрд╛рд╖рд┐рдд рдирд╣реАрдВ" рд╣реЛрдиреЗ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдЧреЗ рдХрд╛ рд╕рднреА рдХреЛрдб рдЬрдирд░реЗрдЯ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рд╣реЛрдЧрд╛:
function generateGallery() {
    //    
}

рд╣рдо рдЗрдирдкреБрдЯ рдкрд╛рддреЗ рд╣реИрдВ, рдЬрд╛рдВрдЪреЗрдВ рдХрд┐ рдпрд╣ рдЦрд╛рд▓реА рдирд╣реАрдВ рд╣реИ, рдбрд╛рдЙрдирд▓реЛрдб рдХреА рдЧрдИ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рдПрдХ рд╕рдВрдЧреНрд░рд╣ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ, рд╣рдЯрд╛рдПрдВред рдЧреИрд▓рд░реА рдХреЗ рд▓рд┐рдП рдПрдХ рдХрдВрдЯреЗрдирд░ рдмрдирд╛рдПрдВ рдФрд░ рдмрдирд╛рдПрдВ:
let input = document.querySelector("input");
// ,  input  
if(input.files.length == 0) return;
let files = input.files;
//  
let i;

//  .wrap,     
let wrap = document.querySelector(".wrap");
document.body.removeChild(wrap);

//    , ,    gallery
let slider = document.createElement("div");
slider.className = "slider";
document.body.appendChild(slider);

рд╣рдо рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рдВрдЧреНрд░рд╣ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реЙрд░реНрдЯ рдХрд░рддреЗ рд╣реИрдВ, рдкреНрд░рддреНрдпреЗрдХ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдирд╛рдо рдФрд░ рдкрддрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ, рдорд╛рд░реНрдХрдЕрдк рдмрдирд╛рддреЗ рд╣реИрдВ, рдЫрд╡рд┐ рдХреИрдкреНрд╢рди рдмрдирд╛рддреЗ рд╣реИрдВ рдФрд░ рдЦреБрдж рд╣реА рдЪрд┐рддреНрд░ рдмрдирд╛рддреЗ рд╣реИрдВ:
for (i = 0; i < files.length; i++) {
    let file = files[i];
    // URL.createObjectURL         ,         
    // ,   ,       
    //             ,      
    /*let src = URL.createObjectURL(file);*/

    //   
    let name = file.name;

    //   ,      img     
    let src = `img/${name}`;

    //  : figure, figcaption, img
    let figure = document.createElement("figure");
    slider.appendChild(figure);

    let figcaption = document.createElement("figcaption");

    //  ,             ,   
    // (?=\.) -  :     ,    
    //       \w,         
    let regexp = /.+(?=\.)/;
    name = name.match(regexp);
    //   ["", index: 0, input: ".jpg", groups: undefined]
    //    
    figcaption.innerText = name[0];
    figure.appendChild(figcaption);

    //  
    let img = document.createElement("img");
    img.src = src;
    figure.appendChild(img);
}

рд╣рдо рдЫрд╡рд┐ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддреЗ рд╕рдордп рдПрдХ рд╕реНрд▓рд╛рдЗрдбрд░ рдЙрддреНрдкрдиреНрди рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдкреВрд░реЗ рдЖрдВрдХрдбрд╝реЗ рдХреЛ рдвреВрдВрдврддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рд╢реНрд░реЛрддрд╛ рдкрд░ рд▓рдЯрдХрд╛рддреЗ рд╣реИрдВ:
let figures = document.querySelectorAll("figure");
for (i = 0; i < figures.length; i++) {
    let figure = figures[i];
    figure.addEventListener("click", () => {
        //  ,       figure,   
        generateSlider(figure);
    });
}

рдЖрдЧреЗ, рд╣рдо рдЬреЗрдирд░реЗрдЯрд▓рд╛рдЗрдбрд░ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдЕрдВрджрд░ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ:
function generateSlider(figure) {
    //  
}

рдкреГрд╖реНрдарднреВрдорд┐ рдХреЛ рдЧрд╣рд░рд╛ рдХрд░реЗрдВ:
darkenBack();
function darkenBack() {
    // ,   
    //  , ,   , 
    if (document.querySelector(".darken") == null) {
        let div = document.createElement("div");
        div.className = "darken";
        document.body.appendChild(div);
    } else {
        let div = document.querySelector(".darken");
        document.body.removeChild(div);
    }
}

рд╣рдо рдПрдХ рдмрд╛рд░ рдореЗрдВ рдПрдХ рд╕реНрд▓рд╛рдЗрдб рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдВрдЧреЗред рдпрд╣ рдордд рднреВрд▓реЛ рдХрд┐ рд╕реНрд▓рд╛рдЗрдб рд╕реНрд╡рд┐рдЪ рдЪрд┐рдХрдирд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣ рдкрд╛рд░рджрд░реНрд╢рд┐рддрд╛ рдФрд░ рдПрдХ рдЫреЛрдЯреЗ рд╕реЗ рд╕рдВрдХреНрд░рдордг рдХреЗ рд╕рд╛рде рд╣рд╛рд╕рд┐рд▓ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИред рдЗрд╕рд▓рд┐рдП, рд╣рдо рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рдПрдХ-рджреВрд╕рд░реЗ рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рд░рдЦрддреЗ рд╣реИрдВ, рдЙрдиреНрд╣реЗрдВ рдХреЗрдВрджреНрд░ рдореЗрдВ рд░рдЦрддреЗ рд╣реИрдВ, рдФрд░ рд╕рднреА рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рдмрдирд╛рддреЗ рд╣реИрдВ, "рдХреНрд▓рд┐рдХ рдХрд┐рдпрд╛ рд╣реБрдЖ", рдкрд╛рд░рджрд░реНрд╢реА рдХреЛ рдЫреЛрдбрд╝рдХрд░:
for (i = 0; i < figures.length; i++) {
    if (figures[i].hasAttribute("style")) {
        figures[i].removeAttribute("style");
    } else {
        figures[i].setAttribute("style", "margin: 0; width: auto; position: absolute; opacity: 0;");
    }
}

//      / 
if (figure.hasAttribute("style")) {
    figure.style.opacity = 1;
    generateButtons();
} else generateButtons();

рдЕрдЧрд▓рд╛, рд╕реНрд▓рд╛рдЗрдбреНрд╕ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдФрд░ рдЧреИрд▓рд░реА рдмрдВрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдЯрди рдмрдирд╛рдПрдВред рдХреЛрдб рд▓рдВрдмрд╛ рдФрд░ рдЙрдмрд╛рдК рдирд┐рдХрд▓рд╛ (рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд╣рд░ рдмрд╛рд░ рдЬрдм рдЖрдк рд╕реНрд▓рд╛рдЗрдбрд░ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдмрдЯрди рдмрдирд╛рдирд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рдерд╛):
рдмрдЯрди рдирд┐рд░реНрдорд╛рдг рдХреЛрдб:
function generateButtons() {
    if (document.querySelector(".buttons") == null) {
        //    
        let buttons = document.createElement("div");
        buttons.className = "buttons";
        slider.appendChild(buttons);

        //   
        let leftButton = document.createElement("button");
        leftButton.className = "button left";
        let leftImg = document.createElement("img");
        leftImg.src = "https://thebestcode.ru/media/sliderGenerator/buttons/left.png";
        leftButton.appendChild(leftImg);
        buttons.appendChild(leftButton);
        leftButton.addEventListener("click", () => changeSlide("-"));

        //   
        let rightButton = document.createElement("button");
        rightButton.className = "button right";
        let rightImg = document.createElement("img");
        rightImg.src = "https://thebestcode.ru/media/sliderGenerator/buttons/right.png";
        rightButton.appendChild(rightImg);
        buttons.appendChild(rightButton);
        rightButton.addEventListener("click", () => changeSlide("+"));

        //    
        let closeButton = document.createElement("button");
        closeButton.className = "button close";
        let closeImg = document.createElement("img");
        closeImg.src = "https://thebestcode.ru/media/sliderGenerator/buttons/close.png";
        closeButton.appendChild(closeImg);
        buttons.appendChild(closeButton);
        closeButton.addEventListener("click", () => generateSlider(figure));
    } else {
        //   ,  
        let buttons = document.querySelector(".buttons");
        slider.removeChild(buttons);
    }
}


рд╕реНрд╡рд┐рдЪрд┐рдВрдЧ рд╕реНрд▓рд╛рдЗрдбреНрд╕ рдХреЛ рдлрд╝рдВрдХреНрд╢рди рдкрд░рд┐рд╡рд░реНрддрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдПрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдХреНрд░рдорд╢рдГ, "+" рдпрд╛ "-"
function changeSlide(e) {
    //    
    for (i = 0; i < figures.length; i++) {
        figures[i].style.opacity = 0;
    }
    if (e == "-") {
        //      ,    
        if (figure == figures[0]) {
            figure = figures[figures.length - 1];
        } else {
            figure = figure.previousElementSibling;
        }
    } else if (e == "+") {
        //      ,    
        if (figure == figures[figures.length - 1]) {
            figure = figures[0];
        } else {
            figure = figure.nextElementSibling;
        }
    }
    //    
    figure.style.opacity = 1;
}

рд╕реНрд▓рд╛рдЗрдб рдХреЛ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдФрд░ рдХреАрдмреЛрд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЧреИрд▓рд░реА рдХреЛ рдмрдВрдж рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдЬреЛрдбрд╝реЗрдВ:
document.addEventListener("keydown", e => {
    //  
    if (e.keyCode == 37 || e.keyCode == 189) {
        changeSlide("-");
    //  
    } else if (e.keyCode == 39 || e.keyCode == 187) {
        changeSlide("+");
    // esc
    } else if(e.keyCode == 27) {
        generateSlider(figure);
    }
});

рдпрд╣ рд╕рдм рд╣реИ, рдмрд┐рд▓реНрдЯ-рдЗрди рд╕реНрд▓рд╛рдЗрдбрд░ рдХреЗ рд╕рд╛рде рдЕрдиреБрдХреВрд▓реА рдЧреИрд▓рд░реА рдЬрдирд░реЗрдЯрд░ рддреИрдпрд╛рд░ рд╣реИред рдорд┐рд╢рди рдкреВрд░рд╛ рд╣реБрдЖред рд╢рд░реНрддреЗрдВ рдкреВрд░реА рд╣реЛрддреА рд╣реИрдВред рдЕрдВрдд рдореЗрдВ, рдореБрдЭреЗ рдПрд╣рд╕рд╛рд╕ рд╣реБрдЖ рдХрд┐ "рдиреНрдпреВрдирддрдо рдХреЛрдб" рдФрд░ "рд╕рднреА рдорд╛рд░реНрдХрдЕрдк рдЬреЗрдПрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рдордХреНрдЦреА рдкрд░ рдмрдирддрд╛ рд╣реИ" рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рд╡рд┐рд░реЛрдзрд╛рднрд╛рд╕реА рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдмрд╣реБрдд рджреЗрд░ рд╣реЛ рдЧрдИ (рдХреНрдпрд╛ рдорд╛рдлреА рдорд╛рдВрдЧрдиреЗ рдореЗрдВ рдмрд╣реБрдд рджреЗрд░ рд╣реЛ рдЧрдИ рдпрд╛ рдПрдХ рдЧрдгрд░рд╛рдЬреНрдп рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛?)ред

рдЗрд╕рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдпрд╣рд╛рдВ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ ред

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдХреЛрдбрдкреЗрди рдкрд░ рд╣рдо рдЫрд╡рд┐рдпреЛрдВ рд╕реЗ рд▓рд┐рдВрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП URL.createObjectURL рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдХреЛрдбрдкреЗрди img рдлрд╝реЛрд▓реНрдбрд░ рдирд╣реАрдВ рджреЗрдЦрддрд╛ рд╣реИред

рдзреНрдпрд╛рди рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

Source: https://habr.com/ru/post/undefined/


All Articles