首页 > 其他分享 >js实现轮播图

js实现轮播图

时间:2023-09-23 23:06:34浏览次数:46  
标签:index 轮播 .. 实现 img focus js background

功能需求

用js实现轮播图

实现思路

1:准备一个HTML结构,创建一个包含多个轮播项的容器,每个轮播项包含一个图片和一个指示器

2:编写css样式,设置轮播容器样式,包括宽度、高度、溢出隐藏等

3:编写JavaScript代码,实现轮播图的切换功能,添加指示器,用于显示当前的图片和指示下一个图片的位置;实现指示器的点击事件,用于切换到对应的轮播项。

代码实现

<!--html-->
<!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>轮播图</title>
</head><!--指定js和css文件路径-->
    <link rel="stylesheet" href="../css/lunbo.css">
    <script src="../js/lunbo.js"></script>
<body>
    <div id="wrapper">
        <div id="focus">
            <ul>
                <li><a href="#">
                    <!--轮播图第一张默认图片-->
                    <img src="../img/01.jpg" alt="" id="pic"> 
                </a>
                <div class="nextPic" onclick="showNext()"></div>
                <div class="prePic" onclick="showPre()"></div>

            </li>
            </ul>

        </div>


    </div>
</body>
</html>
/* css */
* {
margin:0;
padding: 0;
}
ui,li{
    list-style: none;
}
#wrapper{
    width: 800px;
    padding-bottom: 50px;
    margin: 0 auto;
}
#focus{
    width: 800px;
    height: 280px;
    overflow: hidden;
    /* 相对定位 */
    position: relative;
}
#focus ul{
    height: 380px;
    /* 绝对定位 */
    position: absolute;
}
#focus ul li{
    float:  left;
    width: 800px;
    height: 280px;
    overflow: hidden;
    position: relative;
    background-color: #000;
}
#focus ul li div{
    position: absolute;
    overflow: hidden;
}
#focus ul li .nextPic{
    background:url(../img/spirte.png) no-repeat right top;
    width: 45px;
    height: 100px;
    right: 0px;
    top:90px;
    background-color: #000;
    opacity: 0.5;
}
#focus ul li .prePic{
    background:url(../img/spirte.png) no-repeat left top;
    width: 45px;
    height: 100px;
    left: 0px;
    top: 90px;
    /* background-color: rgba(100,10, 50, 0.5); */
    background-color: #000; 
     opacity: 0.5;
}
//js
var arr=["../img/01.jpg","../img/02.jpg","../img/02.jpg","../img/04.jpg","../img/05.jpg",];
var index=0;
function showNext(){
    if(index<arr.length-1){
        index++;
    }else{
        index=0;
    }
    // document.getElementById 通过元素的ID特性来获取元素;数组名加下标访问图片路径
    document.getElementById("pic").src=arr[index];
}
function showPre(){
    if(index>0){
        index--;
    }else{
        // 当index>=0时,index的值是数组长度-1的下标的元素
        index=arr.length-1;
    }
    document.getElementById("pic").src=arr[index];
}


运行效果

js实现轮播图_html





标签:index,轮播,..,实现,img,focus,js,background
From: https://blog.51cto.com/u_15928170/7581380

相关文章

  • 车辆出险报告Api接口,实现车险理赔无纸化处理!
    随着现代科技的发展,智能化、自动化是各行各业的发展趋势。在保险理赔领域,也出现了无纸化处理的趋势。本文将介绍如何利用车辆出险报告API接口实现车险理赔无纸化处理。 首先,我们需要了解什么是车辆出险报告API接口。车辆出险报告API接口是指一种数据接口,可以提供车险理赔......
  • Postman 中 Pre-request Script 加密脚本 CryptoJS-AES-ECB-128
    参考链接:http://jser.io/2014/08/19/how-to-use-aes-in-crypto-js-to-encrypt-and-decryptAug19,2014 //明文test_Str=`{"pageNo":1,"pageSize":15}` constplaintText=test_Str;constkeyStr='3333333333333333';//一般key为一个字......
  • Hive的使用以及如何利用echarts实现可视化在前端页面展示(四)---连接idea使用echarts
    说来惭愧,我的javaweb烂得一批,其他步骤我还是很顺利地,这个最简单的,我遇到了一系列问题。只能说,有时候失败也是一种成功吧这一步其实就是正常的jdbc,没什么可说明的,但是关于使用echarts我还是遇到了一些困难,如果有高手能指正一二,感激不尽echarts获取前端数据要使用Ajax,我不会这个语......
  • Hive的使用以及如何利用echarts实现可视化在前端页面展示(三)---hive数据利用sqoop导
    1、安装sqoop我的版本jdk1.8hadoop3.1.3sqoop1.4.6基本上就安装这个版本都没问题,如果是执行连接数据库命令时报错:java.lang.NoClassDefFoundError;报错,在lib下再放一个commons-lang-2.6.jar即可,sqoop安装:Indexof/dist/sqoop(apache.org)commons-lang-2.6.jar下载:commo......
  • Hive的使用以及如何利用echarts实现可视化在前端页面展示(二)---hive部分的实现
    1、利用远程连接器上传csv文件2、进入hive创建表结构:创建一个Hive表的SQL语句:这个表名为 "sales",包含了五个列:day_id、sale_nbr、buy_nbr、cnt 和 round。此表的数据格式为逗号分隔的文本文件,每一行都用逗号分隔字段。createtablesales(day_idstring,sale_nbrstring,b......
  • 浏览器内核和js引擎
    浏览器内核是什么?简而言之,浏览器内核就是把我们编写的代码转换为页面的中控件。虽然现在大家谈起浏览器内核时,多指代渲染引擎(Renderingengine或layoutengineer)。但其实浏览器内核包括了两部分,渲染引擎和JS引擎,只是后来JS引擎用的越来越多所以就单独的把JS引擎拿了出来。 Ja......
  • 9.23栈的链式和数组实现
    //栈的链表实现importjava.util.Iterator;publicclassMain{publicstaticvoidmain(String[]args){LinkedListStack<Integer>l=newLinkedListStack<>(5);l.push(1);l.push(2);l.push(3);Iterator<Integer&g......
  • 管理系统加载页面的实现
    1、页面回顾2、功能设置将进度条重命名为MyProgress:在工具箱中找到一个计时器Timer,拖动到加载页面中,然后双击计时器:进入到编码界面;if判断语句:之后更改%的Name值:为了将数字变化表现在加载界面上:所以加上这么一句话:之后,在加载界面双击背景,进入到界面的编码界面:加上......
  • JavaScript实现排序算法
    目录前言排序算法冒泡排序选择排序插入排序归并排序快速排序计数排序基数排序桶排序前言排序算法是《数据结构与算法》中最基本的算法之一,本篇使用JavaScript语言实现各种常见排序算法。排序算法冒泡排序比较相邻的元素。如果第一个比第二个大,就交换他们两个。对每一对相邻......
  • 实现一个自动生成小学四则运算题目的命令行程序
    这个作业属于哪个课程21计科34班这个作业要求在哪里结对项目这个作业的目标自动生成四则运算题目、检查四则运算结果https://github.com/jack1349/jackchen1349/tree/master/31210052041、PSP表格PSP2.1PersonalSoftwareProcessStages预估耗时(分钟)实......