js实现轮播效果

css代码

    <style type="text/css">
    *{
        padding:0px;
        margin:0px;
        list-style: none;
        font-family: "微软雅黑";
    }
    .banner{
        width:100%;
        position:relative;
    }
    .bannerImg{
        width:1200px;
        height:500px;   
        margin:0 auto;
        position:relative;
    }
    .bannerImg a {
        display:inline-block;
        position:absolute;
        top:0;
        left: 0;
    }
    .items{
        width:160px;
        height:20px;
        position:absolute;
        bottom:10px;
        left:45%;
    }
    .item{
        width:20px;
        line-height: 20px;
        text-align: center;
        float:left;
        margin-right: 10px;
        background-color: white;
        border-radius: 50%;
        font-size: 16px;
    }
    .zy{
        width:1200px;
        margin:0 auto;
    }
    .nius{
        width:1200px;
        height:100px;
        position:absolute;
        top: 200px;
        z-index: 10;
    }
    .niu{
        width:70px;
        height:100px;
        line-height: 100px;
        text-align: center;
        background-color: rgba(0, 0, 0, 0.5);
        color:white;
        cursor: pointer;
    }
    .fl{
        float:left;
    }
    .fr{
        float: right;
    }
    </style>

html代码

</head>
<body>
    <div class="banner">
        <div class="bannerImg">
            <a href="" style="z-index:1"><img src="image/2.jpg" width="1200" height="500" alt="" /></a>
            <a href=""><img src="image/3.jpg" width="1200" height="500" alt="" /></a>
            <a href=""><img src="image/4.jpg" width="1200" height="500" alt="" /></a>
            <a href=""><img src="image/5.jpg" width="1200" height="500" alt="" /></a>
            <a href=""><img src="image/6.jpg" width="1200" height="500" alt="" /></a>
        </div>
        <ul class="items" style="z-index:99">
            <li class="item">1</li>
            <li class="item">2</li>
            <li class="item">3</li>
            <li class="item">4</li>
            <li class="item">5</li>
        </ul>
        <div class="zy">
            <div class="nius">
                <div class="niu fl" id="left">&lt;</div>
                <div class="niu fr" id="right">&gt;</div>
            </div>
        </div>
    </div>
</body>

script代码

//定义一个num,使它为0
var num = 0;
	//定义一个Img,获取每一个图片
var Img = document.getElementsByClassName("bannerImg")[0].getElementsByTagName("a")    
//定义一个li,获取每一个li
var li = document.getElementsByClassName("item")
//定义一个banner,获取外部的div
var banner = document.getElementsByClassName("banner")[0]

//判断点击事件
        function bannerauto(ooo){
            if (ooo=="r") {
                num++
                if (num>=Img.length) {
                num=0;
                }
            }
            else if(ooo=="l"){
                num--
                if (num<0) {
                    num=Img.length
                };
            }

			//循环,使所有图片的层级相同,li的背景颜色为白色
            for (var i = 0; i < Img.length; i++) {
                Img[i].style.zIndex="0"
                li[i].style.background="#fff"
            };
            //使点击切换的图片层级高于其他图片,并增加li的背景颜色
            Img[num].style.zIndex="1"
            li[num].style.background="orange"
            
        }
        //增加一个计时器,使图片自动切换,1000为毫秒数
        var mo=setInterval(function(){
            bannerauto("r")
        },1000)
        
        //循环,使li的下标等于i
            for (var i = 0; i < li.length; i++) {
                li[i].aaa = i
                //增加点击事件,点击li的每个下标时使对应的图片层级高于其他图片
                li[i].function(){
                    for (var j = 0; j < li.length; j++) {
                        Img[j].style.zIndex="0"
                        li[j].style.background="white"
                    };
                        this.style.background="orange"
                        Img[this.aaa].style.zIndex="1"
                        num=this.aaa			//使num等于点击图片时当前图片的下标
                }
            };
            //设置banner的鼠标移入事件,使移入使停止轮播,用clearIntval来清除
        banner.onmouseover =function(){
            clearInterval(mo);
        }
        //当鼠标移出时,再给他加上计时器让它重新开始轮播
        banner.function(){
            mo = setInterval(function(){
                bannerauto("r")
            },1000)
        }
        
        //给left设置点击事件,使点击时向左切换图片
        left.function(){
            bannerauto("l")
    }
    	//给right设置点击事件,使点击时向右切换图片
        right.function(){
            bannerauto("r")
    }
</script>
基于STM32 F4的永磁同步电机无位置传感器控制策略研究内容概要:本文围绕基于STM32 F4的永磁同步电机(PMSM)无位置传感器控制策略展开研究,重点探讨在不依赖物理位置传感器的情况下,如何通过算法实现对电机转子位置和速度的精确估计与控制。文中结合嵌入式开发平台STM32 F4,采用如滑模观测器、扩展卡尔曼滤波或高频注入法等先进观测技术,实现对电机反电动势或磁链的估算,进而完成无传感器矢量控制(FOC)。同时,研究涵盖系统建模、控制算法设计、仿真验证(可能使用Simulink)以及在STM32硬件平台上的代码实现与调试,旨在提高电机控制系统的可靠性、降低成本并增强环境适应性。; 适合人群:具备一定电力电子、自动控制理论基础和嵌入式开发经验的电气工程、自动化及相关专业的研究生、科研人员及从事电机驱动开发的工程师。; 使用场景及目标:①掌握永磁同步电机无位置传感器控制的核心原理与实现方法;②学习如何在STM32平台上进行电机控制算法的移植与优化;③为开发高性能、低成本的电机驱动系统提供技术参考与实践指导。; 阅读建议:建议读者结合文中提到的控制理论、仿真模型与实际代码实现进行系统学习,有条件者应在实验平台上进行验证,重点关注观测器设计、参数整定及系统稳定性分析等关键环节。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值