学习较慢,今天做的轮播图大家一起来评论下吧

html代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <style>
        *{
            padding: 0;
            margin: 0;
        }
        .box{
            width: 613px;
            height: 230px;
            margin: 0 auto;
            position: relative;
        }
        .box img{
            width: 100%;
            height: 100%;
            position: absolute;
            top:0;
            left: 0;
        }
        .ctrols{
            width: 112px;
            height: 16px;
            position: absolute;
            bottom: 26px;
            right: 60px;
            z-index: 999;
        }
        .ctrols span{
            display: inline-block;
            border: 2px solid #fff;
            width: 12px;
            height: 12px;
            border-radius: 50%;
            margin-right: 8px;
            background-color: rgb(0,0,0,.2);
        }
        .box img:nth-child(1){
           z-index: 1;
        }
        .ctrols span:nth-child(5){
            margin-right: 0;
        }
        .ctrols span.on{
            background-color: orange;
        }
        .arrow-left ,.arrow-right{
            position: absolute;
            top: 50%;
            width: 30px;
            height: 50px;
            margin-top: -25px;
            background-color:rgb(0,0,0,.2);
            z-index: 10;
            font-size: 30px;
            color: #fff;
            text-align: center;
            line-height: 50px;
        }
        .arrow-left{
            left: 0;
        }
        .arrow-right{
            right: 0;
        }
    </style>
</head>
<body>
    <div class="box">
        <img src="images/img01.jpg"/>//所用图片大家可以随意改变
        <img src="images/img02.jpg"/>
        <img src="images/img03.jpg"/>
        <img src="images/img04.jpg"/>
        <img src="images/img05.jpg"/>
        <div class="ctrols">
            <span class="on"></span><span></span><span></span><span></span><span></span>
        </div>
        <div class="arrow">
            <div class="arrow-left"><</div>
            <div class="arrow-right">></div>
        </div>
    </div>
</body>
</html>

js代码:

<script>
        var spans = document.getElementsByTagName("span");
        var imgs = document.getElementsByTagName("img");
        var arrowLeft = document.getElementsByClassName("arrow-left")[0];
        var arrowRight = document.getElementsByClassName("arrow-right")[0];
        var step = 0;//当前图片的的序号
        //循环绑定span
        for(var i=0; i<spans.length;i++){
            spans[i].idx = i;//在某个span元素上添加一个属性 记住i的值
            spans[i].onclick = function(){
                step = this.idx;
                //取消定时器
                clearInterval(timer);
                changeImg(this.idx);
            }
        }
        var timer = setInterval(function(){
            step++;
            if(step  === 5){
                step = 0;
            }
            changeImg(step);
        },2000);
        // 封装一个图片切换函数
            function changeImg(a){
        // 让图片显示
        // 对应的显示,其他隐藏
        // 先让所有的隐藏
            for(var j=0;j<imgs.length;j++){
                imgs[j].style.display = "none";
                spans[j].className = "";
            }
        // 再让对应的图片显示
               imgs[a].style.display = "block";
        // 当前span设置样式为on
        // 先让所有的span移出on
        // 再设置对应span
               spans[a].className = "on";
        }
        //左单击
        arrowLeft.onclick = function(){
            clearInterval(timer);
            step--;
            if(step<0){
                step = 4;
            }
            changeImg(step);
        }
        //右单击
        arrowRight.onclick = function(){
            clearInterval(timer);
            step++;
            if(step>4){
                step = 0;
            }
            changeImg(step);
        }
    </script>

静态效果:

原文地址:https://www.cnblogs.com/Allensangel/p/11260360.html

时间: 2024-08-25 18:36:25

学习较慢,今天做的轮播图大家一起来评论下吧的相关文章

自己动手丰衣足食之轮播图一动态修改marginTop属性实现轮播图

引言 学习jQuery有年头了,刚开始学习时自己动手写过轮播图,放的久了以至于忘了大致思路了.现在转而做前端,抽空把jquery轮播图拿出来写一写,把各种思路都自己练习练习,这里主要使用动态修改marginTop来实现. 实现原理 1.除第一张图片外,其余图片全部隐藏,4张图片重叠起来. 2.导航按钮添加mouseover和mouseleave事件. 3.设置interval函数,启动定时器调用ShowImg函数. 4.动态修改marginTop属性达到上下轮播的效果,说道动态修改margin属

第 20 章 项目实战--响应式轮播图[2]

学习要点: 1.响应式轮播图 主讲教师:李炎恢 本节课我们要在导航条的下方做一张轮播图,自动播放最新的重要动态. 一.响应式轮播图 //响应式轮播图 <div id="myCarousel" class="carousel slide"> <ol class="carousel-indicators"> <li data-target="#myCarousel" data-slide-to=&qu

Android自己定义控件之轮播图控件

背景 近期要做一个轮播图的效果.网上看了几篇文章.基本上都能找到实现,效果还挺不错,可是在写的时候感觉每次都要单独去又一次在Activity里写一堆代码.于是自己封装了一下.这里仅仅是做了下封装成一个控件,不必每次反复写代码了. 效果图 实现分析 轮播图的功能就是实现左右滑动的广告.图片信息展示,那我们就用ViewPager来实现,由于考虑到用户体验,我们还须要在以下加一个指示器来标示滑动到了第几张轮播图.指示器我们能够用一个线性布局来依据要展示的轮播图设置显示的View,我们要做这种一个控件没

Android自定义控件之轮播图控件

背景 最近要做一个轮播图的效果,网上看了几篇文章,基本上都能找到实现,效果还挺不错,但是在写的时候感觉每次都要单独去重新在Activity里写一堆代码.于是自己封装了一下.本篇轮播图实现原理原文出处:循环广告位组件的实现,这里只是做了下封装成一个控件,不必每次重复写代码了. 效果图 实现分析 轮播图的功能就是实现左右滑动的广告.图片信息展示,那我们就用ViewPager来实现,由于考虑到用户体验,我们还需要在下面加一个指示器来标示滑动到了第几张轮播图.指示器我们可以用一个线性布局来根据要展示的轮

网页常用动态效果--网易轮播图

与小米轮播图类似,多了下角标进度条,同时加了切换效果 HTML代码: <div class="box"> <div> <ul> <li style="z-index:1;"><img src="image/163/1.jpg" alt="" width="310" height="220"/> <span></

web前端学习之轮播图实现(原生js)

很久前接触过html css js 但自己在工作中用的少,简单的需求直接vue 走起,没有静下心好好写点js css 什么的,现在想要好好学习下 大前端的知识了,第一个小练习,做了个轮播图 网上有很多轮播图的实现过程,每个人都有自己不一样的思路,自己只要实现了就行.当然有些思路确实比我的要好,后续借鉴学习. 逻辑:将要展示的图片全部放在盒子里,超出部分隐藏,然后设置定时器,没两秒循环一次 img 标签,如果display 为block 就将 display 设置为none  那么后面的图片就到当

用 CSS 做轮播图

对于用 css 实现一个轮播图的缘由,是那时候刚开始接触前端,完全还不懂 js.但是有一个项目(就是一个用来应付面试的作品)需要做一个轮播的效果,当时第一反应就是用 css3 自定义动画 -webkit-animation.做出来的效果自己觉得还可以,唯一的不足就是鼠标点击切换 banner 图和指定到某个图.如果项目中不需要切换变换图片的需求,用 css3 做,何尝不是一种办法.不多说,先上代码: html 代码如下: <div class="test"> <a h

蓝懿IOS学习UICollectionView实战轮播图

今天刘国斌老师讲了关于JSON数据源的获取与利用,通过微博的实战项目进行练习,获取的数据都是网络上请求的真实数据,这种方式学起来很轻松,很容易理解. 刘国斌老师把今天做的练习题UICollectionView轮播图实现功能的方法步骤都下了下来,我们学起来很方便.   实现轮播图 效果的步骤: 1.创建layout (UICollectionViewFlowLayout) 2.设置layout的方向 默认上下 3.创建UICollectionView 4.设置delegate dataSource

js网站轮播图怎么做如何做?鸡哥教你简单制作效果炫酷

日了狗啦,刚刚鸡哥辛苦码了那么多字全丢了又要重新写,这是第二遍写了...今天鸡哥给小白写个不需要写js原生代码,只需要几个插件和一段通俗易懂得jquery代码就能搞定的轮播图,当然js原生代码写着也不算很繁琐,但是有些浪费时间,更何况很多人并不会用js直接写包括鸡哥,当年在学校还是研究过一段时间js的,当时还独自写了一个轮播图俘获了多少同班妹子的芳心,不过现在是基本废了,这东西要常写,不然忘的很快. 唉,本来还有妹子等着鸡哥呢,我这一大意文章丢了,重新写的话估计来不及了,先打个电话让妹子回家吧~