一个简单可爱的手风琴

这是一个HTML和JavaScript实现的网页布局示例,包含一个背景图片和一个水平图片轮播。图片轮播通过点击切换不同的图片,并改变body背景以匹配当前显示的图片。代码中使用了CSS进行页面样式设置,包括元素的定位和过渡效果。
摘要由CSDN通过智能技术生成

下面是源代码和部分注释

是根据老师的做哒

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <meta http-equiv="X-UA-Compatible" content="IE=edge">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <title>Document</title>

    <style>

        * {
            margin: 0;

            padding: 0;

            list-style: none;

        }

        html,body {
            height: 100%;

            /* body高度沾满全屏 */

        }

        body {
            background-image: url(https://b-ssl.duitang.com/uploads/item/201809/18/20180918153911_vzsFN.thumb.700_0.jpeg);

            background-size: cover;

            background-position: center center;

            position: relative

        }

        ul {
            width: 800px;

            height: 400px;

            background-color: pink;

            /* margin: 0 auto; */

            /* 垂直居中 */

            position: absolute;

            left: 50%;

            top: 50%;

            margin-left: -400px;

            margin-top: -200px;

            /* 800的一半 */

            /* 万能居中公式 */

        }

        li {
            width: 80px;

            height: 400px;

            float: left;

            background-size: cover;

            background-position: center center;

            transition: .3s;

            /* 过渡 */

        }

        .open {
            width: 480px;

        }

        li p {
            width: 80px;

            height: 400px;

            background-color: rgb(142, 142, 240,.5);

            color: white;

            font-size: 60px;

        }    

       

    </style>

</head>

<body>

    <ul>

        <li class="open" style="background-image: url(https://c-ssl.duitang.com/uploads/blog/202102/10/20210210145841_0e544.thumb.1000_0.jpg);" >

        <p>库洛米</p>

    </li>

        <li style="background-image: url(https://c-ssl.duitang.com/uploads/item/201809/18/20180918161201_uxmEk.thumb.700_0.jpeg);">

            <p>玉桂狗</p>

        </li>

        <li style="background-image: url(https://c-ssl.duitang.com/uploads/blog/202008/27/20200827202727_2Ws2L.thumb.1000_0.jpeg);">

            <p>布丁狗</p>

        </li>

        <li style="background-image: url(https://c-ssl.duitang.com/uploads/blog/202107/14/20210714141247_f2bc8.thumb.400_0.jpeg);">

            <p>美乐蒂</p>

        </li>

        <li  style="background-image: url(https://c-ssl.duitang.com/uploads/blog/202106/22/20210622102531_dbfc1.thumb.1000_0.jpg);">

            <p>帕洽狗</p>

        </li>

    </ul>

</body>

<script>

    //1.获取所有的li

    var lis = document.querySelectorAll("li");

    //记录当前open的下标

    var showIndex = 0;//默认第一张图是展开的

    //记录当前open的下标

    //使用for循环遍历,添加点击事件

    for (var i=0;i<lis.length;i++) {
        lis[i].index = i;//为每一个li添加标记

        lis[i].onclick = function() {
    //     //1.收起展开的li

    //     // 1.1 我不知道那个li展开了,让所有的li都收起来

    //     for (var j=0;j<lis.length;j++) {
    //         lis[j].className="";

    //     }

        //1.2做标记

        if (showIndex == this.index) {
            return;//判断点击的是否是展开的li

        }

        lis[showIndex].className = "";

        // 2.打开点击的li

        this.className ="open";

        showIndex = this.index;//修改标记值

        //3.修改body的背景图

        document.body.style.backgroundImage = this.style.backgroundImage;

    }

        }

       

</script>

</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值