完整html +css +原生js轮播图

原生JS实现轮播图(事件委托和普通实现) 轮播图 轮播图的概念相信不用赘述,那么我们直接开始思路解析。如果直接要源代码,请点击此处 思路解析 轮播图实现的思路其实很简单,我采用的是几张图片依次横向排列,通过将可视区域和图片大小统一来实现每次只播放一张图片,然后设定定时器来定时的轮播图片(本质就是改变后面一整张图的位置,有点类似于几张横向粘在一起的照片的感觉,前面有个相框,你可以拉动后面的照片来决定相框里显示哪张照片),思路很简单,那么,上... 阅读详情

html

<div class="all" id='box'>
    <div class="screen">
        <ul>
            <li><img src="images/1.jpg" width="500" height="200"/></li>
            <li><img src="images/2.jpg" width="500" height="200"/></li>
            <li><img src="images/3.jpg" width="500" height="200"/></li>
            <li><img src="images/4.jpg" width="500" height="200"/></li>
            <li><img src="images/5.jpg" width="500" height="200"/></li>
        </ul>
        <ol>
        </ol>
    </div>
    <div id="arr"><span id="left">&lt;</span><span id="right">&gt;</span></div>
</div>

css

        * {
            padding: 0;
            margin: 0;
            list-style: none;
            border: 0;
        }

        .all {
            width: 500px;
            height: 200px;
            padding: 7px;
            border: 1px solid #ccc;
            margin: 100px auto;
            position: relative;
        }

        .screen {
            width: 500px;
            height: 200px;
            overflow: hidden;
            position: relative;
        }

        .screen li {
            width: 500px;
            height: 200px;
            overflow: hidden;
            float: left;
        }

        .screen ul {
            position: absolute;
            left: 0;
            top: 0px;
            width: 3000px;
        }

        .all ol {
            position: absolute;
            right: 10px;
            bottom: 10px;
            line-height: 20px;
            text-align: center;
        }

        .all ol li {
            float: left;
            width: 20px;
            height: 20px;
            background: #fff;
            border: 1px solid #ccc;
            margin-left: 10px;
            cursor: pointer;
        }

        .all ol li.current {
            background: yellow;
        }

        #arr {
            display: none;
        }

        #arr span {
            width: 40px;
            height: 40px;
            position: absolute;
            left: 5px;
            top: 50%;
            margin-top: -20px;
            background: #000;
            cursor: pointer;
            line-height: 40px;
            text-align: center;
            font-weight: bold;
            font-family: '黑体';
            font-size: 30px;
            color: #fff;
            opacity: 0.3;
            border: 1px solid #fff;
        }

        #arr #right {
            right: 5px;
            left: auto;
        }
    </style>

js

<script>
    var times = null;
    //获取全部对象
    var box = document.getElementById("box");
    var screen = box.children[0];
    var ul = screen.children[0];
    var ol = screen.children[1];
    var ulLis = ul.children;
    var arr = document.getElementById("arr");
    var left = document.getElementById("left");
    var right = document.getElementById("right");
    //获取banner的宽度
    var imgW = screen.offsetWidth;
    var imgIndex = 0;
    var seqare = 0;
    //在OL中生成对象
    for (var i = 0; i < ulLis.length; i++) {
       //创建原点"li"
        var li = document.createElement("li");
        //ol 添加全部li
        ol.appendChild(li);
        li.innerHTML = i + 1;
    }
    //获取OL中全部的li
    var olLis = ol.children;
    olLis[0].className = "current";
    //克隆第一章到最后
    var fristImg = ulLis[0].cloneNode(true);
    ul.appendChild(fristImg);
    for (var i = 0; i < olLis.length; i++) {
        olLis[i].index = i;
        //注册鼠标移动事件
        olLis[i].onmouseover = function () {
            //注册排他
            for (var i = 0; i < olLis.length; i++) {
                olLis[i].removeAttribute("class");
            }
            this.setAttribute("class", "current");
            var target = -this.index * imgW;
            animate(ul, target);
            seqare = this.index;
            imgIndex = this.index;
        }
    }
    //显示左右箭头
    box.onmouseover = function () {
        arr.style.display = "block";
        clearInterval(times);
    };
    box.onmouseout = function () {
        arr.style.display = "none";
        times = setInterval(right.onclick,1000);
    };
    right.onclick = function () {
        if (imgIndex == ulLis.length - 1) {
            ul.style.left = 0 + "px";
            imgIndex = 0;
        }

        imgIndex++;

        var target = -imgIndex * imgW;
        animate(ul, target);
        if (seqare < olLis.length - 1) {
            seqare++;
        } else {
            seqare = 0;
        }
        for (var i = 0; i < olLis.length; i++) {
            olLis[i].removeAttribute("class");
        }
        olLis[seqare].setAttribute("class", "current");

    };
    times = setInterval(right.onclick,1000);
    left.onclick = function () {
        if (imgIndex == 0) {
            ul.style.left = -(ulLis.length - 1) * imgW + "px";
            imgIndex = ulLis.length - 1;
        }
        imgIndex--;
        var target = -imgIndex * imgW;
        animate(ul, target);
        if (seqare > 0) {
            seqare--;
        } else {
            seqare = olLis.length - 1;
        }
        for (var i = 0; i < olLis.length; i++) {
            olLis[i].removeAttribute("class");
        }
        olLis[seqare].setAttribute("class", "current");
    };
    //运动动画
    function animate(obj, target) {
        clearInterval(obj.timer);
        obj.timer = setInterval(function () {
            var leader = obj.offsetLeft;//获取当前位置
            var step = 30;
            step = leader < target ? step : -step;
            if (Math.abs(leader - target) >= Math.abs(step)) {
                leader = leader + step;
                obj.style.left = leader + "px";
            } else {
                obj.style.left = target + "px";
                clearInterval(obj.timer);
            }
        }, 15);
    }
</script>
解决Home Assistant中安装的Advanced SSH & Web Terminal插件打开提示“502 Bad Gateway” 且弹窗提示“加载项似乎尚未准备就绪,它可能仍在启动中“问题   在HomeAssistant的应用商店安装了【AdvancedSSH&WebTerminal】插件,但是打开这个终端连接到HomeAssistant的时候却提示“502BadGateway”且弹窗提示“加载项似乎尚未准备就绪,它可能仍在启动中,您想重试吗?”一直无法进入HomeAssistant的系统中 阅读详情

相关推荐

手把手教你用STM32标准库写一个能OTA升级的Bootloader(附完整代码)

本文详细介绍了如何使用STM32标准库开发支持OTA无线升级的Bootloader系统,包括Flash分区规划、Bootloader核心实现、无线升级流程及安全校验机制。通过实战代码示例,帮助开发者快速掌握STM32固件升级技术,提升物联网设备的远程维护能力。

weixin_30181209的博客 263

html图片重叠轮播,原生js实现图片层叠轮播切换效果

本文实例介绍了js焦点图片层叠轮播切换滚动效果,分享给大家供大家参考,具体内容如下效果图:功能描述:自定义图片尺寸;每隔一段时间自动滚动图片;每次动画执行的时候改变图片的位置,宽高以及其它属性也要跟随着变化;鼠标移上图片,显示当前图片的详细信息;点击按钮向前向后滚动;详细代码:html代码:*{margin:0px; padding:0px;font-family:"Microsoft YaHei...

weixin_36149538的博客 2633

VS2022下C# WPF项目一键打包成独立exe的完整指南

本文提供了一份在Visual Studio 2022中将C# WPF项目一键打包成独立可执行exe文件的完整指南。通过配置项目属性、启用单文件发布和自包含模式,开发者无需依赖第三方工具,即可生成可在未安装.NET运行时的电脑上直接运行的独立程序,极大简化了桌面应用的分发流程。

weixin_28831399的博客 670

css+js实现层叠式轮播图(一)

效果是轮播到当前的图片时,放大显示然后整个轮播图只会显示当前图片,上一张和下一张图片,然后给外层容器overflow: hidden效果,只显示我们需要展示的3张图片即可。我们需要js来实现这个功能,我会在下一篇文章把剩下的功能讲完的,关注我看后续哦~从上往下分别是 左2,左1图片 中间图片 右1,右2图片。html的结构大概为这样,至少需要5张图片。其他的图片不会显示,接下来就是写代码时间。中间的图片层级是最高,向两边依次递减。然后底层图片的蒙版样式设置。需要显示的图片的蒙版给予透明。

hy123154的博客 3059

AutoCAD2014与ObjectARX开发环境搭建实战指南

本文提供了一份详细的AutoCAD2014与ObjectARX开发环境搭建实战指南。内容涵盖从AutoCAD2014、Visual Studio 2010及ObjectARX 2014 SDK的版本匹配与环境准备,到Wizard安装、编码问题解决、Visual Studio配置,并最终通过一个完整的绘图命令开发示例,手把手引导开发者创建并加载第一个可运行的ObjectARX插件,为后续深入开发奠定坚实基础。

weixin_28475533的博客 288

浅谈天线 - - - GNSS/BT/4G/2.4G

全球定位导航系统,最成熟的就是美利坚,我大中华,俄罗斯,还有就是欧洲的一个(太次不谈)所以我们在项目调试的时候,小尺寸的陶瓷天线上一般兼容2个频段,体积大一点的可以兼容三个频段,采用组合的形式 GPS+BD GPS+GLONASS GLONASS+BD 或者是单频段的定位天线陶瓷PATC陶瓷片:陶瓷片面积越大,介电常数越大,其共振频率越高,接收效果越高,这就是为什么都推荐使用大一点的陶瓷天线的原因银层:陶瓷天线表面的银层可以影响天线的共振频率,理想的GNSS陶瓷片频点准确落在1575.42MH

BLACKHOLE6的博客 1万+

金字塔叠轮播html,多功能轮播图,堆叠试轮播,文本轮播,图文轮播

更新记录1.0.2(2021-01-20)金字塔模式下一张图片,会导致主屏不显示1.0.1(2020-07-27)20200727:数字角标不变化bug查看更多mosowe-swiper:适用于uni-app的轮播图插件轮播组件,本插件兼容H5、APP、微信小程序、支付宝小程序组件功能普通轮播(文本、图片,图文轮播,支持上下、左右轮播)堆叠轮播(图片)图片预览(图片)数字角标使用方式若page.j...

weixin_35976688的博客 677

Nacos 2.3.2与PostgreSQL的Docker化部署实战

本文详细介绍了Nacos 2.3.2与PostgreSQL的Docker化部署实战,包括环境准备、数据库配置、镜像获取与导入、容器部署及常见问题排查。通过Docker容器化技术,结合PostgreSQL的稳定性和扩展性,为微服务架构提供高效的服务发现和配置管理解决方案。

k5l6m的博客 283

堆叠式轮播图

1.鼠标不在图片上方时,进行自动轮播,并且左右箭头不会显示;当鼠标放在图片上方时,停止轮播,并且左右箭头会显示;2.图片切换之后,图片中下方的小圆点会同时进行切换,并且点击相应的小圆点可以切换到相应的图片上;4.图片上需有介绍的文字,会随图片切换一起进行切换。3.点击左右箭头可以进行左右图片的切换;对图片设置优先级,使图片堆叠。绑定按钮使图片根据点击运动。

Meg_Fu的博客 2847

ABAP Secure Storage 在事务码 SM59 中的应用

系统管理人员在进行维护时,应关注相关日志信息,及时发现可能出现的安全异常,并针对不同安全等级的操作制定相应的备份与恢复策略,以降低潜在风险。该区域在设计上具备高度隔离性,仅允许经过授权的组件访问。保存后,系统会将密码存储在 Secure Storage 中,这种处理方式充分体现了 SAP 标准程序在安全设计上的考量。对于系统管理员而言,这种机制在日常维护与审计中提供了有力的支持,可以通过比对存储数据的哈希值或其他完整性校验手段,及时发现异常变动,保障系统长期稳定运行。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 675

《YOLO多模态创新改进专栏目录 》全网独家创新,多模态融合改进教程,包含早期融合、中期融合、后期融合、损失函数改进、二次创新模块、独家创新等几百种创新点改进,答疑群提供完整项目,永久更新中

🔥《YOLO多模态创新改进专栏》重磅来袭!🚀 本专栏汇集最新顶会顶刊创新点,提供1000+篇YOLO多模态改进方案(涵盖v8-v26),包含: 多模态融合策略(早期/中期/后期) 损失函数优化 独家创新模块 详细改进步骤 ✨特色服务: ✔️ 配套完整可运行项目 ✔️ 专业答疑群支持(含非计算机专业指导) ✔️ 持续更新至2026年 ✔️ 适用目标检测/OBB/分割/分类等多任务 💡适合人群: 科研人员 | 研究生 | 需发SCI/CCF论文者 环境要求宽松,新手友好,助力快速产出科研成果! 📈早订优

Ai缝合怪、助力小伙伴高效发论文 745

HTML+CSS+JS实现轮播效果

1.新建一个项目,里面新建一个CSS文件夹(在里面新建一个lunbo.css文件)和一个JS文件夹(在里面新建一个lunbo.js文件),新建一个lunbo.html文件。 2.lunbo.html代码: 大轮播

最有趣的编程 4263

STM32H743的FDCAN使用方法(1):STM32CubeMX初始化代码生成

STM32H743的FDCAN使用方法(1):STM32CubeMX初始化代码生成。

kevin1499的博客 2566

原生js自动轮播图

轮播图的用处轮播图是现在网站网页上最常见的效果之一,很多网站上都会用到,淘宝京东等等。有些自动选项卡也是需要用到的,而且它的可重复性高。在这里分享一下,用js原生代码,实现轮播图的常见效果!轮播图的原理一系列的大小相等的图片平铺,利用CSS布局只显示一张图片,其余隐藏。通过定时器实现自动播放。Html布局首先父容器banner存放所有内容,子容器img-list存放图片。子容器list存放按钮小圆...

belong_me的博客 2722

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

轮播图 原生js实现

原生js实现轮播图  很多网站上都有轮播图,但却很难找到一个系统讲解的,因此这里做一个简单的介绍,希望大家都能有所收获,如果有哪些不正确的地方,希望大家可以指出。  github地址 (如果有用,就star一下吧)   原理:   将一些图片在一行中平铺,然后计算偏移量再利用定时器实现定时轮播。   步骤一:建立html基本布局 如下所示: &lt;!DOCTYPE htm...

qq_36746815的博客 241

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

原生js实现轮播图(自动和手动)

这个轮播图是算比较完整的轮播图,自动播放、点击跳转、下一页上一页、运动缓冲功能都有了。 轮播图效果图: 代码部分: HTML代码: <section class="banner"> <article class="banner_box"> <input type="button" id="btnL" value="<...

weixin_43919429的博客 992

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

DOM中定时器的使用方式、及使用原生JS实现轮播图——大总结(附源码)

一,什么是定时器 在网页的开发中,有一部分效果需要以某种规律不停的显示,比如:轮播图,而这个时候就需要有定时器来完成这个工作(让图片不停的动,实现轮播的效果),简单地说就是,加上定时器之后,先自行设置一个时间,在每次过这个时间的时候,执行一下函数,最终实现的轮播的效果; JS中定时器有一下两种方式: setInterval() : 按照指定的周期(以毫秒计)来调用函数或计算表达式。方法会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭。 (相当于循环多次调用函数) setTim

qq_44830054的博客 599

轮播php js代码,原生js轮播特效

作为一名前端工程师,手写轮播图应该是最基本掌握的技能,以下是我自己原生js写的轮播,欢迎指点批评:首先css代码a{text-decoration:none;color:#3DBBF5;}*{margin: 0;padding: 0;}.wrapper{width: 400px;height: 300px;margin: 100px auto;}#lunbo{position: relative;...

weixin_42453228的博客 121

轮播php js代码下载,js原生代码实现轮播图案例

[导读]轮播图是现在网站网页上最常见的效果之一,对于轮播图的功能,要求不同,效果也不同。我们见过很多通过不同的方式,实现这一效果,但是有很多比较麻烦,而且不容易理解,兼容性也不好。轮播图是现在网站网页上最常见的效果之一,对于轮播图的功能,要求不同,效果也不同。我们见过很多通过不同的方式,实现这一效果,但是有很多比较麻烦,而且不容易理解,兼容性也不好。在这里分享一下,用js原生代码,实现轮播图的常见...

weixin_42373088的博客 200

原生JS简单的无缝自动轮播

  最近在不断的加强巩固js。在学习jq和vue之后发现很多东西其实都是不明所以,有些底层的东西自己不懂,到头来也只是一昧的使用,一直在用别人的东西,对自己的成长帮助也不大。 万丈高楼平地起,基础打扎...

qq_36320160的博客 145

原生js轮播图完整代码(css+html+js)

1 <style> 2 *{ 3 padding: 0; 4 margin: 0; 5 } 6 .container{ 7 width: 600px; 8 height: 320px; 9...

weixin_30341745的博客 443

用JS写一个轮播效果

用js写一个轮播效果 1思路如下:1.自动轮播(重点偏移量) 1-1.如果需要左右轮播的话则将图片排成一行。 1-2.如果需要上下轮播的话则将图片排成一列. 2.左右两侧耳朵点击进行位移 3.通过点击下方小圆点进行任意位置轮播 1.先静态后动态的开发模式。 2.动态JS的开发思路(原生的JS) 3.首先HTML和js关联起来。 4.核心重点是:偏移量(取自于图片的宽度或者规定每次移动的像素值) 5.HTML和js结合式的书写 变量名.style.left = 数值。 (取默认的左偏移初始

qq_15571919的博客 425

基于 HTML+CSS+JavaScript 的游戏商城网页设计与实现

游戏周边商城是很多前端入门者的第一个「大项目」:轮播图、分类导航、商品列表、详情页、购物车、注册登录一应俱全,比个人主页复杂,又不像全栈项目那样需要搭环境。本文拆解的这套游戏商城网页以为主题,包含商城首页、商品列表、商品详情、购物车、注册五个页面,黑金配色高度还原官方商城质感。原作品的数据接口依赖第三方练习服务,已停止服务。——整站彻底离线可运行,双击 index.html 即可完整体验浏览、加购、购物车增删改的全流程。

大梦想家的博客 141

原生js实现轮播图

原生js实现轮播图,说难不难,说简单不简单。基础套路还是来复习一下吧。先看图。 先看html结构!很简单! &lt;div class="slider"&gt; &lt;div class="slide-item slide-item-1"&gt;1&lt;/div&gt; &lt;div class="slide-item slide-item-2"

吴纯玲的博客 1010

手把手教你原生JavaScript打造丝滑流畅的轮播图,让你的网站瞬间提升用户体验

轮播图是网页设计中常见的交互组件之一,用于展示多张图片或内容,让用户能够方便地浏览、切换和选择。本文将介绍如何使用原生 JavaScript 手写一个简单的轮播图,并且通过代码解释实现细节。目录简介HTML 结构CSS 样式JavaScript 实现完整的 JavaScript 代码总结本文介绍了如何使用原生 JavaScript 手写一个简单的轮播图,包括 HTML 结构、CSS 样式和 JavaScript 代码。我们学习了如何使用函数来自动播放轮播图,并使用类名和索引变量来实现图片切换。

陈书予 3万+

java 层叠_[Java教程]【原生JS】层叠轮播图

[Java教程]【原生JS】层叠轮播图0 2017-05-17 12:00:26又是轮播?没错,换个样式玩轮播。HTML: wtf < > CSS: .box {width: 1200px; height: 300px; transform-style: perserve-3d; margin: 50px auto;...

weixin_35651612的博客 83
上一篇: bootstrap validator表单提交初体验 基于HTML
下一篇: 仿小米手风琴 HTML +CSS +JS开发
Java_chaozi
博客等级 码龄11年 11粉丝 13原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值