轮播图原理

js原生实现简易轮播图效果,原理简单易懂 原生js实现简易的轮播图 用最基础的方式实现想不到的效果,能完成一个轮播图,能让你的兴趣大增。对于初学者来说,学完JavaScript基础知识,就要运用综合知识,实现一些网页的基础效果。如果代码,或者解析哪里有问题的,欢迎大家纠正。 原理 将图片全部重叠在一起,并且给所有的图片设置隐藏,第一张图片设置显示。然后依靠点击事件,显示出相应的图片。这样一个简单的轮播图就完成了。 首先写出静态页面 &l... 阅读详情

轮播图原理:

  1. 创建一个div块,给定与图片大小相同的宽高;
  2. 相对div左右定位两个按钮分别控制图片向前或向后无缝滚动;
  3. 首先创建ul列表,每个li内放入一张图片,给所有的li左浮动;
  4. 让div展示当前图片,其余内容overflow:hidden隐藏;
  5. oUl.innerHTML += oUl.innerHTML;把所有的图片复制一份;
  6. 利用包裹图片队列的块进行位置偏移实现:

DOM中文档结构如下:

<div>
    <button type="button">left</button>
    <button type="button">right</button>
    <ul>
        <li><img src="img/demo1.jpg"/></li>
        <li><img src="img/demo2.jpg"/></li>
        <li><img src="img/demo3.jpg"/></li>
        <li><img src="img/demo4.jpg"/></li>
    </ul>
</div>

CSS中的样式如下:

body{
	margin:0;
}
div{
	width:1000px;
	height:330px;
	border:1px black solid;
	overflow:hidden;
	position:relative;
	margin:100px auto;
}
ul{
	margin:0;
	padding:0;
	list-style:none;
	position:relative;
}
li{
	float:left;
}
button{
	width:50px;
	line-height:50px;
	text-align:center;
	top:150px;
	position:absolute;
	z-index:2;
}
button:nth-of-type(1){
	left:0;
}
button:nth-of-type(2){
	right:0;
}

JS中的样式如下:

var aBtn = document.getElementsByTagName("button");
var oUl = document.getElementsByTagName("ul")[0];
var aLi = document.getElementsByTagName("li");
oUl.innerHTML += oUl.innerHTML;
oUl.style.width = aLi.length*1000+"px";
var i=0;
aBtn[0].onclick = function(){
	i++;
	doMove(oUl,-1000*i,12,"left",function(){
		if(i===4){
			oUl.style.left = 0;
			i = 0;
		}
	})	
}
aBtn[1].onclick = function(){
	if(i===0){
		oUl.style.left = -aLi.length/2*1000+"px";
		i = 4;
	}
	i--;
	doMove(oUl,-i*1000,12,"left");
}

封装好的函数:

//getStyle(元素,'样式名');通过函数名和传参进行调用
function getStyle(obj,attr){
	return obj.currentStyle ? 	obj.currentStyle[attr] :  getComputedStyle(obj)[attr];
}
//动画效果(对象,终点,速度,方向,回调函数)
function doMove(obj,end,step,attr,endFn){
	step = parseInt(getStyle(obj,attr))<end ? step : -step;
	clearInterval(obj.timer);
	obj.timer = setInterval(function (){
		var nextPlace = parseInt(getStyle(obj,attr)) + step;
		if(nextPlace>=end&&step>0||nextPlace<=end&&step<0){
			nextPlace=end;
		}
		obj.style[attr] = nextPlace + "px";
		if(parseInt(getStyle(obj,attr))===end){
			clearInterval(obj.timer);
			//if(endFn){endFn();}
			endFn && endFn();
		}
	},30);
}

效果图如下:


点击“left”按钮,图片向左移动:


移动完成后:


点击“right”按钮,图片向右移动。

广义平均(Generalized Mean, GeM) 本位介绍了广义平均操作的定义和简要推导,帮助大家理解其含义。 阅读详情

相关推荐

基于FFT的阵列方向图快速计算公式推导

因为自己毕设涉及到阵列方向图综合相关知识,最近阅读了关于方向图综合的相关文献,就其中关于使用FFT计算阵列方向图的方法进行了公式推导。 简介: 自从1965年Colley-Tukey发表快速傅里叶变换[1]论文以来,FFT在许多科学技术领域获得了广泛和成功的应用。在阵列信号处理与雷达信号处理领域,随着科技的发展,对于电尺寸较大的相控阵天线,使用公式按照级数求和计算天线阵列方向图的方法效率甚低,...

qq_38151438的博客 4295

轮播图实现原理

0.最终效果预览 鼠标未触及区域时(自动滚动中) 鼠标触及区域后 (停止滚动,显示按钮) 基本功能 自动无缝滚动 左右按钮控制滚动 点击圆点切换图片 1.整体结构与思路 Html部分 <body> <div id= "parent"> <div id="uls"> <ul id="i...

Torby的博客 3094

ArcGIS山体坡度、坡向分析

本篇文章主要记录自己在对山体坡向及坡度分析中的一些操作。

Belence_zhao的博客 7412

【学会轮播图这一篇文章就足够啦】JS 网页轮播图详解 自动播放+手动播放

一: 轮播图的基本结构搭建及原理分析其实轮播图的构成很简单,仅由显示区域和图片区域两部分组成,图片区域由一个 ul 标签实现,内部一个 li 标签里放一张图片,使其左浮动形成一行,其移动其实靠的就是 ul 的二: 光标移动至轮播图处切换按钮的显示与隐藏光标移动到轮播图区域使左右切换图片按钮显示与隐藏,我们用到两个事件分为:和,之所以不用 mouseover 和 mouseout 是因为这两个事件会冒泡,会产生很多不可控的影响,但两组事件的效果几乎完全相同。绑定事件后改变按钮的 display 值即可。

2401_84138927的博客 4468

processing与arduino互动编程

Arduino开发板对AVR单片机二次编译封装,无需考虑单片机编程寄存器、地址指针等复杂细节processing借助arduino读取各种传感器的数值,控制各种机电装置。

weixin_45679408的博客 825

使用FloodRisk2插件进行洪水风险评估

入汛以来,长江流域持续的强降雨使得沿岸多地成为洪水风险极高地区,抗洪、抢险、救灾继新冠病毒之后成为又一个攻坚阵地。如何科学地评估洪水风险,是快速决策的关键。 实际生活中,根据风险是否可控,一般将洪水风险大致分为两类:一类是通过数据分析可以得出其发生的可能性和后果,如强降雨引发的区域性洪水、水库/大坝溃决洪水等。这类洪水可以通过有关资料分析和设定一定条件计算得到可能的损失后果,也就是说,风险可以预判。另一类洪水风险基本是未知的,如滑坡堵塞河道形成堰塞湖引发的洪水,无法预知事件发生的地点和规模,具体的洪水风险无

QGISClass的博客 2879

一文搞懂卡片、堆叠式所有轮播图原理-JavaScript实现轮播图

大厂各种花哨轮播图你是措手无策,我的教程你是不屑一顾,相信看完本篇文章,能带你掌握各种花哨的轮播图,先放上之前写好的效果图,代码在文章最后。

q145p152的博客 6117

Fiddler everywhere的一些基础操作

网上能搜到的Fiddler everywhere使用教程太少,于是我整理了一些自己实操成功的内容,包括Fiddler everywhere的Mock测试、弱网测试等基础操作,后续还会持续更新。操作系统:macOS使用工具:Fiddler everywhere 5.10.0本文简单介绍了使用Fiddler everywhere进行的Mock测试和弱网测试,而Fiddler everywhere提供了更多的其他实用的功能,我会在后期进行一个持续的学习和更新。

weixin_44346646的博客 2480

轮播图的多种实现及原理

【写在前面】 最近,在自己的项目中遇到了很多轮播图。 这里的很多,并非数量多,指的是种类很多,即多种实现。 本篇主要内容: 1、轮播图的多种实现。 2、效果对比和更好的建议。 【正文开始】 方法一: 相当常见简单的实现方法: 1、将所有的图片并排。 2、依次平移即可。 HMTL 和 CSS部分: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8">

梦起丶的博客 4万+

4.Simulink基础建模操作——加减乘除运算

加减乘除运算

FPGA/MATLAB学习教程/源码/项目合作开发 9553

多摄像头场景下 ISP 的同步与调度机制实战解析

在智能手机多摄系统中,主摄、广角、长焦、微距等摄像头的协同工作能力直接决定了影像系统的体验上限。而支撑这一能力的核心之一,正是 ISP 的同步与调度机制。ISP 需要处理多个 Sensor 的输入流、统一时序、资源仲裁、并发调度,并支持在不同模式间快速切换(如预览 → 拍照 → 视频)。本文将基于 Qualcomm、MTK、HiSilicon 平台的实际架构,系统性剖析 ISP 在多摄场景下的时序控制、Pipeline 配置、Buffer 管理与故障恢复机制,并分享实战中的典型问题与调试方案。

努力分享一些人工智能、计算机视觉、影像等相关的知识干货! 2351

131、轮播图swiper的实现原理

轮播图的实现原理_github_38186390的博客-优快云博客_swiper轮播图原理

sunnnnh的博客 1445

MOS管基础知识及应用电路Multisim仿真

本文系统介绍了MOS管的基础知识及其在电子电路中的典型应用。首先详细解析了MOS管的基本结构、分类和工作原理,包括NMOS、PMOS及CMOS的特性差异。重点阐述了MOS管的三种放大组态电路(共源、共漏、共栅)及其小信号模型分析。随后通过Multisim仿真验证了MOS管在防反接电路、开关电路、放大电路、逻辑门电路、电平转换电路和开关电源(BUCK、BOOST、BUCK-BOOST)等应用中的实际表现。文章还深入探讨了自给偏压和分压式偏置电路的设计要点。全文通过理论分析与仿真实验相结合的方式,全面展示了MO

XU157303764的博客 1491

一般网页首页轮播图的实现原理

一般的网页首页都会使用轮播图。 轮播图的运动一般分为两种,一种是一直运动没有时间间隔的,一种就是间隔一段时间运动的。下面向大家介绍一下第二种中间有时间间隔的轮播图实现的原理和一些简单的代码。 轮播图无限循环运动主要是运动了setInterval计时器和startMove简单的运动的原理。 下面展示的是4张图片的循环滚动。 **1.**首先让图片一行显示 利用浮动将所有所有照片依次排成一行,给这一长...

weixin_44649507的博客 3万+

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

数学建模模型总结

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

JS实现最简单的轮播图及其原理

轮播图的实现——最基础的原理 方法1(使用setInterval的方法): 看下网上很多教程,不论是html还是css的部分做的都太过于详细了,所以我把代码都尽量缩到了最简单,只是记录(给自己看)和讲解(给大家看)其中的原理,直接上代码。。。 1,html部分: &lt;div id="try"&gt;//做一个大框把轮播图片放进去即可 &lt;img src="1.png" style=...

weixin_41659761的博客 2170

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

原生js实现轮播图原理分析

一、轮播图需求 轮播图需要实现左右翻页的无缝连接 需要点击左右切换 需要实现跳转 显示当前位置的小圆点 二、轮播图的原理 1.图片移动实现原理: 利用浮动将所有所有照片依次排成一行,给这一长串图片添加一个父级的遮罩,每次只显示一张图,其余的都隐藏起来。对图片添加绝对定位,通过控制left属性,实现照片的移动。 2.图片移动动画原理: 从a位置移动到b位置,需要先计算两点...

konghouy的博客 2万+

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

65轮播图实现——轮播图布局及原理

文章目录1、轮播图实现原理2、轮播图布局 1、轮播图实现原理 将图片横向排列 将图片平移到容器里面 利用opacity属性控制图片的显示和隐藏 2、轮播图布局 css如下: 效果如下:

Blog of Lytracy 624

轮播图的原理

轮播图分为两种:滑动型的和消失型的。 滑动型就是图片按照一个方向滑动切换,到达最后一张图片根据需要继续按照那个方向滑动或者回滑到第一张图。 这个原理就是: 想象一下小时候玩的抽板,就是在一个面积为a的空心纸板后面放一张面积为n*a的长纸板,n为图片个数。我们看到的轮播图就是空心纸板上露出来的部分。 然后我们通过左右拉纸板达成动态效果。 实现注意: 这个代码使用纯的js写的话,...

a23180012142的博客 739

简单轮播图的实现原理(转载)

简单轮播图的实现原理

qq_38645868的博客 576

原生js实现轮播图原理

轮播图的原理1.图片移动实现原理:利用浮动将所有所有照片依次排成一行,给这一长串图片添加一个父级的遮罩,每次只显示一张图,其余的都隐藏起来。对图片添加绝对定位,通过控制left属性,实现照片的移动。 2.图片移动动画原理:从a位置移动到b位置,需要先计算两点之间的差值,通过差值和时间间隔,计算出每次移动的步长,通过添加定时器,每次移动相同的步长,实现动画效果。 3.图片定位停止原理:每一张照片...

weixin_34005042的博客 194

关于动画函数封装以及轮播图(重点)原理的实现

动画实现原理 核心原理:用定时器 setInterval()不断移动盒子位置 实现步骤 获得盒子当前位置 让盒子在当前位置加上1个移动距离 利用定时器不断重复这个操作 加一个结束定时器的条件 此元素需要添加定位 , 才能使用 element . style . left 动画函数简单封装 注意函数需要传递2个参数 , 动画对象和移动到的距离 动画函数给不同元素记录不同定时器 如果多个元素都使用这个动画函数 ,每次都要var声明定时器 , 我们可以给不同的元素使用不同的定时器(自己专门用自

c_perfectworld的博客 849

js中轮播图的各种实现原理(文字性叙述)

1.图片移动实现原理: 利用浮动将所有所有照片依次排成一行,给这一长串图片添加一个父级的遮罩,每次只显示一张图,其余的都隐藏起来。对图片添加绝对定位,通过控制left属性,实现照片的移动。 2.图片移动动画原理: 从a位置移动到b位置,需要先计算两点之间的差值,通过差值和时间间隔,计算出每次移动的步长,通过添加定时器,每次移动相同的步长,实现动画效果。 3.图片定位停止原理: 每一张照片都有相同的宽度,每张照片都有一个绝对的定位数值,通过检测定每次移动后,照片当前位置和需要到达位置之间的距离是否小于步长,如

qq_38645868的博客 2421

分享如何制作swiper轮播图 轮播图制作教程 核心原理

轮播图制作过程中的核心问题解决方法教程swiper轮播图源码下载

xiaolingqhd的博客 488

JavaScript-Dom入门-轮播图原理和实例练习

想要制作一个轮播图我们要先弄清楚他的原理,如何能让图片自右向左滑动? 让我们想一想生活中有没有类似的东西,比如电影胶片。 我们可以创建一个块作为投影区,创建一个列表作为底片并使其向左移动,达到轮播图效果。 文章目录创建一个块和列表导航栏导航功能完善动画效果完整代码 创建一个块和列表 创建一个块作为总的容器和显示区域。 <div id="out"> <ul id="img...

lemon_yu的博客 740
上一篇: js动态创建li的不同方法
下一篇: 手写手机网站(meta)
7号样子
博客等级 码龄9年 18粉丝 22原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值