Показать сообщение отдельно
  #6 (permalink)  
Старый 09.07.2022, 16:39
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,108

Brazzers Carousel without jQuery
ureech,

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Brazzers Carousel Demo</title>
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">
    <link rel="stylesheet" href="https://www.jqueryscript.net/demo/Responsive-Image-Hover-Carousel-Plugin-For-jQuery-Brazzers-Carousel/jQuery.Brazzers-Carousel.min.css">
    <style>
        .item {
            margin: 20px 0;
        }
        .item img, .item{
            height: 170px;
            width: 250px;
        }

        .brazzers-daddy img{
            opacity: 0;
            display: block;
            position: absolute;
            transition: 1s;
        }

        .brazzers-daddy img.active {
            transition: 1s;
            opacity: 1.8;
        }
    </style>
        <script>
        document.addEventListener("DOMContentLoaded", function() {
            function brazzersCarousel(cls) {
                document.querySelectorAll(cls).forEach(el => {
                    el.classList.add("brazzers-daddy");
                    let imgs = el.querySelectorAll("img");
                    el.insertAdjacentHTML("beforeend", "<div class='tmb-wrap'><div class='tmb-wrap-table'></div></div><div class='image-wrap'></div>")
                    let table = el.querySelector(".tmb-wrap-table");
                    let image = el.querySelector(".image-wrap");
                    let divs = Array.from(imgs, (img, i) => {
                        image.append(img);

                        table.insertAdjacentHTML("beforeend", `<div data-index="${i}">`);
                        return table.querySelector(":last-child");
                    })
                    let current = 0;
                    function active(index = 0) {
                        divs[current].classList.remove("active");
                        imgs[current].classList.remove("active");
                        current = index;
                        divs[current].classList.add("active");
                        imgs[current].classList.add("active");
                    }
                    active();
                    table.addEventListener("pointermove", function({
                        target
                    }) {
                        if (target = target.closest("[data-index]")) {
                            let index = +target.dataset.index;
                            active(index)
                        }
                    })
                    table.addEventListener("pointerleave", () => active())
                })
            }
            brazzersCarousel(".item")
        })
    </script>
</head>
<body>
    <div class="container">
        <div class="row">
            <div class="col-md-4 col-sm-6 col-xs-12">
                <div class="item">
                    <img src="https://art-apple.ru/albums/dreamy_world_wallpaper/FA1E1609BF79-9.jpg" alt="Alt">
                    <img src="https://img1.goodfon.ru/wallpaper/nbig/0/66/priroda-leto-nebo-babochki.jpg" alt="Alt">
                    <img src="https://c.pxhere.com/images/c7/98/16bc1220468313b685405a491996-1427075.jpg!d" alt="Alt">
                </div>
            </div>
            <div class="col-md-4 col-sm-6 col-xs-12">
                <div class="item">
                    <img src="https://art-apple.ru/albums/dreamy_world_wallpaper/FA1E1609BF79-9.jpg" alt="Alt">
                    <img src="https://img1.goodfon.ru/wallpaper/nbig/0/66/priroda-leto-nebo-babochki.jpg" alt="Alt">
                    <img src="https://c.pxhere.com/images/c7/98/16bc1220468313b685405a491996-1427075.jpg!d" alt="Alt">
                </div>
            </div>
        </div>
    </div>

</body>
</html>

Последний раз редактировалось рони, 09.07.2022 в 17:21.
Ответить с цитированием