JavaScript实现轮播图方法一

本文介绍了如何使用JavaScript动态生成多个div元素,并通过数组操作控制其display属性,实现轮播图效果。代码示例详细展示了HTML、CSS和JavaScript的配合,以及作者分享的玩转JavaScript的心得体会。
摘要由CSDN通过智能技术生成

多个DIV,所有的DIV都由JavaScript生成,每个DIV的className均为photo,再通过数组来操控每个DIV的display属性

效果展示

在这里插入图片描述

主要代码

JavaScript

	let Maximum = 8;
	
    function generateElement()//给body添加div
    {

        let body = window.document.getElementById("body");
        let photoDiv;
        for (let i = 0; i < Maximum; i++) {
            photoDiv = window.document.createElement("div");
            // ----------------------------------------------------两句代码都是设置class属性值
            photoDiv.setAttribute("class", "photo");
            // photoDiv.className = "photo";
            // ----------------------------------------------------两句代码都是设置id属性值
            photoDiv.setAttribute("id", i+1+"");
            // photoDiv.id=i+1+"";
            // ----------------------------------------------------
            photoDiv.style.backgroundImage = "url('image/" + (i + 1) + ".jpg')"
            body.appendChild(photoDiv);
        }
        // 最顶层置上一层薄纱
        let veilDiv=window.document.createElement("div");
        veilDiv.setAttribute("class","veil");
        // veilDiv.className=veil";
        body.append(veilDiv);
    }

    let index = 0;
    let photos = window.document.getElementsByClassName("photo");
    
    function turn()//轮播图
    {
        if (index==photos.length)
        {
            index = 0;
        }
        for (let i = 0; i < photos.length; i++) {
            photos[i].style.display = "none";
        }
        photos[index].style.display = "block";
        index++;
    }

    generateElement();
    setInterval(turn, 2000);//每隔两秒调用一次轮播图函数

CSS

 body
        {
            margin: 0;
            padding: 0;
            background-color: #FDE6E0;
        }

        .photo
        {
            width: 100%;
            height: 100%;
            /*background-image: url("image/1.jpg");*/
            background-size:cover;
            background-repeat: no-repeat;
            position: absolute;
        }
        .veil
        {
            width: 100%;
            height: 100%;
            background-color: #E9EBFE;
            opacity:0.3;
            position: absolute;
        }

HTML

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>turnPhoto1</title>
</head>
<body id="body">

</body>
</html>

玩JavaScript的感受

代码不难,粗心就会出错!

细心,耐心!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值