css上下左右箭头切换图片

admin 轻心小站 关注 LV.19 运营
发表于前端技术学习版块 css,教程

CSS上下左右箭头切换图片是网站中常用的交互效果,本文将介绍如何利用CSS实现这一效果。 HTML结构: <div class= slider > <img

CSS上下左右箭头切换图片是网站中常用的交互效果,本文将介绍如何利用CSS实现这一效果。

 HTML结构:
    <div class="slider">
        <img src="img1.jpg">
        <img src="img2.jpg">
        <img src="img3.jpg">
        <img src="img4.jpg">
    </div>

    CSS样式:
    .slider {
        position: relative;
        width: 500px;
        height: 300px;
        overflow: hidden;
    }
    .slider img {
        position: absolute;
        top: 0;
        left: 0;
        opacity: 0;
        transition: opacity 0.5s;
    }
    .slider img:first-child {
        opacity: 1;
    }

    .slider:hover img {
        opacity: 0.5;
    }
    .slider:hover img:hover {
        opacity: 1;
    }

    .slider:hover .arrow {
        display: block;
    }
    .slider .arrow {
        display: none;
        position: absolute;
        top: 50%;
        margin-top: -20px;
        width: 40px;
        height: 40px;
        background: #fff url(arrow.png) no-repeat center center;
        cursor: pointer;
    }
    .slider .arrow.left {
        left: 10px;
        transform: rotate(180deg);
    }
    .slider .arrow.right {
        right: 10px;
    }

    JavaScript代码:
    var slider = document.querySelector('.slider');
    var imgs = slider.querySelectorAll('img');
    var arrows = slider.querySelectorAll('.arrow');
    var index = 0;
    arrows[0].addEventListener('click', function() {
        index--;
        if(index < 0) index = imgs.length - 1;
        changeImg();
    });
    arrows[1].addEventListener('click', function() {
        index++;
        if(index >= imgs.length) index = 0;
        changeImg();
    });
    function changeImg() {
        imgs.forEach(function(img, i) {
            if(i === index) {
                img.style.opacity = '1';
            } else {
                img.style.opacity = '0';
            }
        });
    } 

在HTML结构中,我们创建了一个包含多张图片的div容器,每张图片的opacity属性都设置为0,表示透明。在CSS样式中,我们通过position和opacity属性,使每张图片的位置重叠在一起,hover时设置opacity为1,显示当前图片,同时应用了CSS3的transition属性实现图片切换的动态效果。同时,我们使用绝对定位和CSS3的transform属性实现了箭头的显示和隐藏,当鼠标移动到容器上时才显示。

在JavaScript代码中,我们首先获取了所有图片和箭头元素,通过绑定click事件,控制图片的显示和隐藏,实现了翻页功能。

文章说明:

本文原创发布于探乎站长论坛,未经许可,禁止转载。

题图来自Unsplash,基于CC0协议

该文观点仅代表作者本人,探乎站长论坛平台仅提供信息存储空间服务。

评论列表 评论
发布评论

评论: css上下左右箭头切换图片

粉丝

0

关注

0

收藏

0

已有0次打赏