使用JS制作简易图片轮播效果

使用JS制作简易图片轮播效果:

制作比较粗糙,使用的图片是width:660ppx,height:550px;

效果图:


--------------------------------------------------华丽丽的分界线----------------------------------------------


代码部分如下:


<!DOCTYPE html>
<html lang="en">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>JS幻灯代码</title>
    <script type="text/javascript">
        window.onload = function () {
            flag = 0;
            obj1 = document.getElementById("slider");
            obj2 = document.getElementsByTagName("li");
            obj2[0].style.backgroundColor = "#666666";//默认被选中颜色
            time = setInterval("turn();", 5000);

            obj1.onmouseover = function () {
                clearInterval(time);
                
            }
            obj1.onmouseout = function () {
                time = setInterval("turn();", 6000);
            }

            for (var num = 0; num < obj2.length; num++) {
                obj2[num].onmouseover = function () {
                    turn(this.innerHTML);
                    clearInterval(time);
                }
                obj2[num].onmouseout = function () {
                    time = setInterval("turn();", 6000);
                }
            }
            //延迟加载图片,演示的时候,使用本地图片,上线后请改为二级域名提供的图片地址
            document.getElementById("second").src = "images/2.png";//使用图片宽660,高550
            document.getElementById("third").src = "images/3.png";
            document.getElementById("four").src = "images/4.png";

        }

        function turn(value) {
            if (value != null) {
                flag = value - 2;
            }
            if (flag < obj2.length - 1)
                flag++;
            else
                flag = 0;
            obj1.style.top = flag * (-550) + "px";
            for (var j = 0; j < obj2.length; j++) {
                obj2[j].style.backgroundColor = "#ffffff";
            }
            obj2[flag].style.backgroundColor = "#666666";
        }

    </script>
    <style type="text/css">
        #wrap
        {
            height: 550px;
            width: 660px;
            overflow: hidden;
            position: relative;
            overflow: hidden;
        }
        #wrap ul
        {
            list-style: none;
            position: absolute;
            top: 500px;
            left: 450px;
        }
        #wrap li
        {
            margin-left:2px;
            opacity: .3;
            filter: alpha(opacity=30);
            text-align: center;
            line-height: 30px;
            font-size: 20px;
            height: 30px;
            width: 30px;
            background-color: #fff;
            float: left;
            border-radius:3px;
            cursor:pointer;
        }

        #slider
        {
            position: absolute;
            top: 0px;
            left: 0px;
        }
        #slider img
        {
            float: left;
            border: none;
        }
    </style>
</head>
<body>
    <div id="wrap">
        <div id="slider">
            <a target="_blank" href="#"><img src="images/1.png" /></a>
            <a target="_blank" href="#"><img id="second" /></a>
            <a target="_blank" href="#"><img id="third" /></a>
            <a target="_blank" href="#"><img id="four" /></a>
        </div>
        <ul>
            <li>1</li>
            <li>2</li>
            <li>3</li>
            <li>4</li>
        </ul>
    </div>
</body>
</html>




HTML网页制作中的图片轮播功能通常是通过JavaScriptJS)实现的。图片轮播可以动态地展示一系列图片,用户可以通过点击按钮或者自动播放的方式切换图片。以下是一个简单的图片轮播实现方法: 1. HTML部分:首先需要在网页中创建一个用于显示图片的容器,以及控制轮播的按钮(如上一张、下一张)或者指示器(小圆点)。 ```html <div id="carousel"> <div class="carousel-images"> <img src="image1.jpg" alt="描述1"> <img src="image2.jpg" alt="描述2"> <img src="image3.jpg" alt="描述3"> <!-- 更多图片 --> </div> <a href="#" class="carousel-prev">❮</a> <a href="#" class="carousel-next">❯</a> </div> ``` 2. CSS部分:设置容器和图片的样式,可以为轮播的图片添加一些动画效果。 ```css #carousel { position: relative; overflow: hidden; } .carousel-images { display: flex; transition: transform 0.5s ease; } .carousel-images img { max-width: 100%; display: block; } .carousel-prev, .carousel-next { position: absolute; top: 50%; transform: translateY(-50%); cursor: pointer; } .carousel-prev { left: 10px; } .carousel-next { right: 10px; } ``` 3. JavaScript部分:使用JavaScript来控制图片的切换逻辑。 ```javascript let currentIndex = 0; const images = document.querySelectorAll(".carousel-images img"); const totalImages = images.length; document.querySelector('.carousel-prev').addEventListener('click', () => { currentIndex = (currentIndex - 1 + totalImages) % totalImages; updateCarousel(); }); document.querySelector('.carousel-next').addEventListener('click', () => { currentIndex = (currentIndex + 1) % totalImages; updateCarousel(); }); function updateCarousel() { const offset = -currentIndex * 100; document.querySelector('.carousel-images').style.transform = `translateX(${offset}%)`; } ``` 在上述代码中,我们通过点击按钮来更新当前图片的索引,然后根据当前索引移动图片容器,从而实现图片的切换
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值