原生JS轮播图

新手入门小案例2

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        * {
            margin: 0;
            padding: 0;
        }
        
        #wrap {
            width: 1680px;
            height: 560px;
            overflow: hidden;
            position: relative;
            margin: auto;
        }
        
        #imgWrap {
            width: 8400px;
            height: 560px;
            font-size: 0;
            position: absolute;
            left: 0;
            transition: 1s;
        }
        
        #imgWrap img {
            width: 1680px;
            height: 560px;
        }
        
        #left, #right {
            width: 50px;
            height: 70px;
            background-color: #000;
            color: #fff;
            position: absolute;
            top: 50%;
            margin-top: -35px;
            font-size: 30px;
            text-align: center;
            line-height: 70px;
            cursor: pointer;
            opacity: 0.5;
        }
        
        #left {
            margin-left: 10px;
            left: 0;
        }
        
        #right {
            margin-right: 10px;
            right: 0;
        }
        
        ul {
            position: absolute;
            bottom: 10px;
            left: 735px;
        }
        
        li {
            list-style-type: none;
            width: 16px;
            height: 16px;
            border-radius: 50%;
            float: left;
            margin-left: 10px;
            border: 1px solid red;
            cursor: pointer;
        }
    </style>
</head>
<body>
<div id="wrap">
    <div id="imgWrap">
        <img src="images/banner1.jpeg" alt="">
        <img src="images/banner2.jpeg" alt="">
        <img src="images/banner3.jpeg" alt="">
        <img src="images/banner4.jpeg" alt="">
        <img src="images/banner5.jpeg" alt="">
    </div>
    <ul>
        <li></li>
        <li></li>
        <li></li>
        <li></li>
        <li></li>
    </ul>
    <div id="left">&lt;</div>
    <div id="right">&gt;</div>
</div>
<script>
    //定义变量
    var imgWrap,leftBtn,rightBtn,preLi,liLists;
    var position=0;
    init();
    function init() {
        //获取元素
        imgWrap=document.getElementById("imgWrap");
        leftBtn=document.getElementById("left");
        rightBtn=document.getElementById("right");
        
        leftBtn.addEventListener("click",clickHandler);
        rightBtn.addEventListener("click",clickHandler);
        //获取每个li元素,转为数组
        liLists=Array.from(document.getElementsByTagName("li"));
        //为每一个Li添加事件
        for(var i=0;i<liLists.length;i++){
            liLists[i].addEventListener("click",liClickHandler);
        }
        move();
    
    }
    function liClickHandler(e) {
        //position 等于 此时 这个li的下标
        position=liLists.indexOf(this);
        //执行移动函数
        move();
    }
    function clickHandler(e) {
        if(this===leftBtn){
            position--;
            if(position<0){
                position=4;
            }
            move();
            return;
        }
        position++;
        if(position>4){
            position=0;
        }
        move();
    }
    
    function move() {
        imgWrap.style.left=-1680*position+"px";
        if(preLi){
            preLi.style.backgroundColor = "rgba(255,0,0,0)";
        }
        //如果不存在 就 把第一个设为preLi  默认
        preLi = liLists[position];
        // preLi.style.background = "rgba(255,0,0,0.3)";
        preLi.style.backgroundColor="rgba(255,0,0,0.3)";
    }
</script>
</body>
</html>

大概效果如下

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
很抱歉,根据您提供的引用内容,我无法回答关于原生js轮播图百叶窗的问题。但是,我可以为您介绍一下Nacos的服务发现与注册功能以及如何使用它。 Nacos的服务发现与注册功能可以帮助云原生应用实现动态服务发现和注册。具体来说,它可以让应用自动地注册和注销服务实例,并且可以让其他应用自动地发现这些服务实例。这样,应用就可以更加灵活地进行服务调用和协同工作。 使用Nacos的服务发现与注册功能,您需要进行以下步骤: 1. 安装Nacos并启动服务。 2. 在应用中引入Nacos的客户端SDK。 3. 在应用中配置服务实例的元数据信息,例如服务名称、IP地址、端口号等。 4. 在应用中使用客户端SDK注册服务实例。 5. 在应用中使用客户端SDK发现其他服务实例。 下面是一个使用Nacos服务发现与注册功能的示例代码: ```javascript // 引入Nacos的客户端SDK const Nacos = require('nacos'); // 创建Nacos客户端实例 const nacos = new Nacos({ logger: console, serverList: '127.0.0.1:8848', // Nacos服务的地址和端口号 }); // 配置服务实例的元数据信息 const serviceName = 'example-service'; const ip = '127.0.0.1'; const port = 3000; // 注册服务实例 nacos.registerInstance(serviceName, { ip, port, metadata: { weight: 1, }, }); // 发现其他服务实例 const instances = await nacos.request('/nacos/v1/ns/instance/list', { searchParams: { serviceName, }, }); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值