图片简单轮播

JS实现简单的图片轮播   看了很多大佬的博客,大佬们的博客写的都非常有水平,小菜鸡今天就用自己的理解方式,按照自己的思路整理一下学习笔记啦!!!   轮播、轮播自然就是轮流着播放啦!图片轮播简单来说就是给你几张图,按照一定的时间循环播放。我要说的也是这样种极其简单的图片播放。 一、思路 整体布局,利用<div><img>将图片轮播的雏形展示出来。 利用CSS样式表,给雏形“化个妆”。 ... 阅读详情

想写一个综合性的小案例,主要会运用到数组和判断以及我前面几篇博客所复习到的js的知识。今天案例想要实现的效果图如下图所示:

效果是:点击“循环切换”按钮,那么“一号”位置的文案就要写入“图片可以循环”,而下面的左右箭头在点击过程中可以循环点击,并且“二号”和“三号”要响应切换到相对应的数字和文字内容;否则,点击“顺序切换”按钮,那么“一号”位置的文案就要写入“图片是顺序播放”除了“二号”和“三号”要响应切换到相对应的数字和文字内容之外,无论是第一张还是最后一张都不能继续往下点击了。好的具体来看代码。

 先来简单的看一下布局和样式:

复制代码

 1     <style>
 2         body{text-align: center}
 3         #box{width:400px;height:400px;border:5px solid #e5e5e5;margin:20px auto;position:relative;}
 4         #img{width:100%;height:100%;}
 5         #text1{width:100%;height:30px;position:absolute;left:0;top:0;background: #000;text-align:center; line-height:30px;color:#fff; font-size:14px; filter:alpha(opacity:80); opacity:0.8;}
 6         #text2{width:100%;height:30px;position:absolute;left:0;bottom:0;background: #000;text-align:center; line-height:30px; color:#fff; font-size:14px; filter:alpha(opacity:80); opacity:0.8;}
 7         a{width:40px; height:40px; background:#fff; filter:alpha(opacity:80); opacity:0.8; position:absolute; top:160px; font-size:18px; color:#000; text-align:center; line-height:40px; text-decoration:none; }
 8         a:hover { filter:alpha(opacity:30); opacity:0.3; }
 9         #prev {left:10px;}
10         #next {right:10px;}
11     </style>

复制代码

复制代码

 1 <body>
 2 <input id="btn1" type="button" value="循环切换">
 3 <input id="btn2" type="button" value="顺序切换">
 4 <p id="p1">图片可以循环</p>
 5 <div id="box">
 6     <img id="img" />
 7     <p id="text1"></p>
 8     <p id="text2">图片文字加载中……</p>
 9     <a id="prev" href="javascript:void(0)"><</a>
10     <a id="next" href="javascript:void(0)">></a>
11 </div>
12 </body>

复制代码

接下来就是最重要的js的写法了,因为是原生的写法,所以只能先获取到所有能用到的id,然后再去写具体的效果:

复制代码

 1 <script>
 2     window.onload= function(){
 3         var oBtn1=document.getElementById("btn1");
 4         var oBtn2=document.getElementById("btn2");
 5         var oBox=document.getElementById("box");
 6         var oImg=document.getElementById("img");
 7         var oText1=document.getElementById("text1");
 8         var p1=document.getElementById("p1");
 9         var oText2=document.getElementById("text2");
10         var oPrev=document.getElementById("prev");
11         var oNext=document.getElementById("next");
12         var arrSrc=["img/pic1.jpg","img/pic2.jpg","img/pic3.jpg","img/pic4.jpg"];
13         var arrTxt=["文案1","文案2","文案3","文案4"];
14         var num=0;
15         var onOff=true; //true 循环  false 走顺序
16         
17         function fn(){      //开始先定义一个公共函数方便下面调用
18             oImg.src = arrSrc[num];     //图片的显示路径
19             oText1.innerHTML= num+1 +"/" + arrTxt.length;   //图中二号位置的数字显示
20             oText2.innerHTML=arrTxt[num];   //图中三号位置的文字显示
21         }
22         fn();/*切记,定义之后,这里一定要调用一下*/
23 
24         //循环按钮
25         oBtn1.onclick=function(){
26             onOff=true;
27                 p1.innerHTML="图片会循环"
28 
29         };
30         //顺序按钮
31         oBtn2.onclick=function(){
32             onOff=false;
33                 p1.innerHTML = "图片按顺序走"
34 
35         };
36         oPrev.onclick = function(){
37             num--;  //点击左边的箭头那么就是num--
38             if(onOff){  //onOff默认是true所以就是走循环了
39                 if(num==-1){    //在一直减的过程中,数组里最小的就是0,所以等于-1的时候要循环下去所以让它显示最后一张
40                     num=arrSrc.length-1;
41                 }
42 
43             }else{  //否则onOff是false所以就是走顺序了
44                 if(num==-1){     //在一直减的过程中,数组里最小的就是0,所以等于-1的时候没有数据走了,所以让它显示第一张不能点击了
45                     num=0;  
46                     alert("已经是第一张了")
47                 }
48             }
49             fn();//判断好之后记得调用函数
50         };
51         //相反下面就是点击左边的箭头所做出的判断,道理同上
52         oNext.onclick = function(){
53             num++;
54             if(onOff){
55                 if(num==arrTxt.length){
56                     num=0;
57                 }
58             }else{
59                 if(num==arrTxt.length){
60                     num=arrSrc.length-1;
61                     alert("已经是最后一张了")
62                 }
63             }
64             fn();
65         }
66     }
67 </script>

 

 

 

复制代码

好了,以上就是这个案例所有代码了,这里面牵涉到两层逻辑关系就是点击最上面的循环和顺序的按钮时,下面的图片所对应到相应的效果,第二个逻辑就是当确定好是循环或者是顺序播放的其中一个之后,下面的图片在点击切换的时候是判断循环的一定要可以让它一直点击下去,而顺序的就是点击到最后一张就不能走下去了,要显示已经到头了,其实这些明白之后就好说了。好了,今天就到这里了,明天继续!

 

//利用div来划分图片的区域(需求是用到html的map后用此div确定area的范围)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />

<title>无标题文档</title>

<script type="text/javascript">

function getOffset(obj){

    var x = obj.offsetLeft, y = obj.offsetTop;

    while(obj.offsetParent){

        obj = obj.offsetParent;

        x += obj.offsetLeft;

        y += obj.offsetTop;

    }

    return {x : x, y : y};

};

function showBorder(obj){

    var img = document.getElementById("bd");

    var div = document.getElementById("border");

    var offset = getOffset(img);

    var coords = obj.coords.split(","); 

    div.style.display = "block";

    div.style.left = offset.x + parseInt(coords[0]) + "px";

    div.style.top = offset.y + parseInt(coords[1]) + "px";

    div.style.width = parseInt(coords[2]) - parseInt(coords[0]) + "px";

    div.style.height = parseInt(coords[3]) - parseInt(coords[1]) + "px";

}

function hideBorder(){

    document.getElementById("border").style.display = "none";

}

</script>

</head>

 

<body>

<img src="http://www.baidu.com/img/baidu_logo.gif" width="270" height="129" border="0" usemap="#bdMap" id="bd" />

<map name="bdMap" id="bdMap">

  <area shape="rect" coords="35,22,115,97" onmouseover="showBorder(this);" onmouseout="hideBorder()" />

  <area shape="rect" coords="158,26,238,94" onmouseover="showBorder(this);" onmouseout="hideBorder()" />

</map>

<div id="border" style="display:none; position:absolute;border:2px solid #FF0000; "></div>

</body>

</html>

美观实用-带按钮轮播图 一个简易而又十分美观的带按钮轮播图,鼠标悬停会显示按钮,暂停轮播。鼠标离开则按钮消失,轮播图继续滚动。非常好看哟。 立即下载

相关推荐

Multisim实战:从8选1到32选1数据选择器的完整搭建指南(附常见问题解决)

本文提供了一份详尽的Multisim实战指南,手把手教你从基础的8选1数据选择器开始,逐步级联搭建16选1乃至32选1数据选择器。文章深入剖析了级联的核心逻辑、片选方案以及使用译码器的专业方法,并附带了电源连接、输出冲突、信号毛刺等常见问题的诊断与解决技巧,帮助电子工程学生和爱好者扎实掌握数字电路的系统设计与仿真调试。

dd012的博客 731

JS实现轮播图的三种简单方法。

Js实现轮播图01 实现思路 这可能是轮播图最简单点的实现之一,通过更改图片的src来实现该效果,首先需要将图片命名格式统一比如pic01.jpg,pic02.jpg…,再通过js使用定时器去改变img标签里面的src图片链接的名字来实现切换效果。代码如下: 实现效果 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>轮播图实现01</title> &

m0_67392409的博客 2万+

SC8F073单片机串口通信保姆级教程:从寄存器配置到完整收发Demo(附避坑指南)

本文详细解析了SC8F073单片机串口通信的寄存器配置与调试技巧,涵盖TXSTA、RCSTA和SPBRG寄存器的逐位设置,提供精确的波特率计算方法和工业级抗干扰策略。通过完整的收发Demo和避坑指南,帮助开发者快速掌握底层串口通信技术,适用于工业控制等严苛环境。

weixin_33724046的博客 486

简单轮播图的实现(详解)

这次撸了一遍轮播图的实现,如果有错请指教啦~勿喷蟹蟹~

qq_36623798的博客 6959

文档多模态识别工具对比:MinerU、PaddleOCR、Marker

本文对比了三款文档多模态识别工具:MinerU、PaddleOCR和Marker。MinerU专注于中文文档的端到端解析,支持复杂元素提取和结构化输出,适合中文论文和教材解析。PaddleOCR是通用OCR工具包,支持多语言和全流程任务,适用于发票、车牌等图像OCR。Marker则注重多语言支持和轻量化部署,适合英文论文和技术文档的快速转换。三者在核心技术、中文优化、表格处理、输出格式、部署复杂度和适用语言等方面各有优劣。选型建议根据具体需求:MinerU适合高精度中文解析,PaddleOCR适合定制化OC

朴拙科技的博客 4745

Ubuntu22.04+Docker一键部署Autoware Universe避坑指南(附鱼香ROS配置)

本文详细介绍了在Ubuntu22.04系统中使用Docker一键部署Autoware Universe的完整流程,包括鱼香ROS工具链配置、Docker环境优化及VSCode开发环境集成。通过实战指南帮助开发者快速搭建自动驾驶开发环境,解决常见部署问题,提升开发效率。

weixin_29254673的博客 417

实现简单的轮播图(单张图片、多张图片)

前言 刚学js没多久,这篇博客就当做记录了,以后还会完善的,希望大佬们多多指点。ps:下面出现的都是直接闪动,没有滑动效果的轮播图。 单张图片的替换 · ...

星河 2万+

使用ONNX Runtime在Java Web应用中部署深度学习模型

当应用场景需要集成深度学习模型进行推理时,直接在Java Web应用中集成深度学习框架可能会面临性能、兼容性等问题。为了将深度学习模型无缝集成到Java Web应用中,是一项广受认可且实用的方法。本篇文档将介绍如何将模型转换为ONNX格式,并通过ONNX Runtime Server进行部署,并通过Java Web应用调用以进行回归或预测任务。本方案的主要目标是实现以下功能:将PyTorch模型转换为ONNX格式。部署ONNX Runtime Server,加载ONNX模型并提供推理服务。

shysea2019的博客 8859

简单轮播图

(一)实现的效果 1.点击左右按钮切换图片 (二)基本布局 1.图片横向排列,借助overflow:hidden;让显示区域以外的内容不显示就行了 (三)动画效果 1.通过JS实现动画效果,调用animation()函数 (四)实现无缝切换效果 1.当轮播图翻页时,是完整的一张图均匀翻过去,将第一张图片复制添加到末尾起到过度作用 <!doctype html> <html> <head> <meta charset="utf-8"> <

m0_55132979的博客 1143

华为OD机试 - 战士技能规划设计 - 数组(Python/JS/C/C++ 新系统 100分)

本专栏收录于《华为OD机试真题(Python/JS/C/C++)》。刷的越多,抽中的概率越大,私信哪吒,备注华为OD,加入华为OD刷题交流群,每一题都有详细的答题思路、详细的代码注释、3个测试用例、为什么这道题采用XX算法、XX算法的适用场景,发现新题目,随时更新。你为一款动作游戏设计战士角色的技能:战士每个技能会消耗不同能量,释放技能有 2 个约束:连续释放技能数量不能超过 m 个,技能能量总和不能超过能量上限 k;如果超过则必须中断当前技能,进入调息状态(即分段)。战士有一项爆发技巧:在单次战斗中有一次

学Java,找哪吒 237

BPC坏点矫正

whatis the Bad Pixel? 坏点为死点,也就是基本不随照度变化呈现光电线性转换的关系。表现为暗态常亮,亮态常暗。 坏点分类:静态坏点:亮坏点,暗坏点。 动态坏点:在一定像素范围内,该点表现正常,而超过这一范围,该点表现的比周围像素要亮。与sensor ...

camerall 1万+

简单轮播图(新手都会懂)

需求:一个banner,带左右按钮,底部一个小的圆形图(有几个banner的小圆圈),没有任何事件的时候,是自动滚动的; 分解流程: 既然是自动轮播,肯定会用到定时器,还需要一个变量去存轮播到第几个图了; 先写自动轮播功能,用到setInterval(),每1秒钟,i 的值也+1,相应的第几个轮播图也跟随着变化( eq(i) ),小圆圈也等同,注意 i 的值不能大于轮播图的数量,当走到最后一...

qq_40269801的博客 1752

逆强化学习:从专家示范中学习策略

逆强化学习(Inverse Reinforcement Learning,简称IRL)是强化学习(Reinforcement Learning,简称RL)的一个子领域,它的目标是从专家的行为中学习策略。在传统的强化学习中,智能体通过与环境交互,根据奖励信号来学习一个策略。而在逆强化学习中,我们没有直接的奖励信号,而是通过观察专家的行为来推断出奖励函数,从而学习到一个与专家类似的策略。逆强化学习作为强化学习的一个重要子领域,在许多实际应用场景中都取得了显著的成功。

AI天才研究院 1453

超简单全面的html图片自动轮播

超简单全面的html图片自动轮播 废话不多说,直接上代码 html部分 <div id="max"> <div class="re"> <ul> <li><img src="./pic/big_size/p1.jpg" alt=""></li> ...

a1424715994的博客 14万+

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

html简单图片轮播居中,html简单图片轮播的实现

这里的图片轮播方法是我从网上参考的方法,只是自己做了一些改进先来贴一发代码 在这个html的目录下有三个同级的文件夹,img中放图片,css和js分别存放这个网页的css文件和js文件,这里用到了jquery,记得引入顺序,jquery一定要放在其他js前面。html代码很简单,不做过多解释。看一下引入的css,init2.css*{margin: 0px ;padding: 0px ;}#l...

weixin_28797889的博客 1723

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

简单html图片轮播_web前端入门到实战:简单的图片轮播

效果:功能:1、左右箭头切换2、状态控制点切换3、鼠标悬念4、自动轮播HTML: 广西南宁低价供应各种地被、绿化苗木等 广西南宁低价供应各种地被、绿化苗木等 广西南宁低价供应各种地被、绿化苗木等 web前端开发学习Q-q-u-n: 784783012 ,分享学习的方法和需要注意的小细节,不停更新最新的教程和学习方法(详细的前端项目实战教学视频,PDF)CSS:....

weixin_42342626的博客 450

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

简单的HTML网页图片轮播自动切换

简单的HTML网页图片轮播切换[代码注释详解]效果展示1.必须的html元素2.css代码3.JavaScript代码4.思路总结觉得有帮助点个赞吧 效果展示 具体解释请参考代码中的注释! 总共展示5张图片,图片中间下方5个点的代表展示顺序。(如图可知播放到第二张图片) 图片左右两边的箭头上一张和下一张! 1.必须的html元素 <!doctype html> <html> <head> <meta charset="utf-8"> <title&gt

qq_51727668的博客 7万+

详细简单的php图片轮播,几分钟让你学会简单的图片轮播

图片轮播的方法有很多种,这里我用一种简单的方法。功能点击左右箭头能够自由切换上一张图片和下一张图片利用定时器和函数递归来实现图片间歇切换和动画切换聚焦原点跟随图片的切换和改变,点击聚焦原点也可以切换图片(ps: 样式代码自己随便写即可)首先,要有一个大概的思路就是在最外层有一个父包含块outerWrapper(长宽设为一张图片的大小),里面有一个图片包含块img-wrapper(宽度为所有图片的宽...

weixin_35461942的博客 1901

HTML网页js超简单实现图片轮播

其实实现图片轮播很简单 1. 创建一个js文件(自己会的博主不多说) 2. 在html文件引入js文件 引入代码: <script type="text/javascript" src="js/sth.js"></script> 注意:sth是自己的js文件名自行修改 3.写好html图片显示的代码,你也肯定会不多说 诶,还是上代码,要随便定义一张图的id名。 4.最后一...

weixin_45414490的博客 1万+

图片轮播,一个简单的图片轮播

在学习前端时自己做了一个简单的图片轮播,五张图片。css样式和js代码全部分离。源码连接:http://download.youkuaiyun.com/detail/tanglingbo/9631405

唐灵波 2800

详细简单的php图片轮播,JavaScript实现图片轮播效果的简单实例

这篇文章主要介绍了JavaScript实现简单图片轮播效果,点击下标切换到该图片上,具有一定的参考价值,感兴趣的小伙伴们可以参考一下本文实例为大家分享了js实现简单图片轮播的具体代码,最终实现效果图代码块以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。* {margin: 0;padding: 0}ul {list-style: none}img {vertical-...

weixin_28880179的博客 205

图片轮播简单版

简单版的图片轮播 body部分 &lt;style type="text/css"&gt; .ani-span{ position: absolute; } .title{ position: absolute; cursor: pointer; left: 83px; display: inline-block; top: 200px } &lt;/style&gt; &lt;div st...

这个博客记录我的成长。(专注前端开发,ehcarts图表开发,接定制),有需要请站内私信。 816

jQuery-mobile之简单的图片轮播

&nbsp;&nbsp;&nbsp;&nbsp;最近开始学习jQuery-mobile,讲解了一个简单的图片轮播(要对jQuery有一定的基础),下面我将代码分享出来。 &lt;!DOCTYPE html&gt; &lt;html&gt; &lt;head&gt; &lt;meta charset="UTF-8"&gt; &lt;title&gt;&lt;/t

YYxiaobao0726的博客 2391

简单的图片轮播

只是简单的布局,没有美化,时间有限,做了个大致的意思,后面会做一个好看点的,以及使用translate的原理做一个。能够实现选择间隔时间,图片与小图相对应的功能。 css代码 `.img-contain{ margin: 20px auto; width: 400px; overflow: hidden; position: relative; } .

王凯凯凯凯的前端之路 435

详细简单的php图片轮播,JS简单的轮播的图片滚动实例

JS简单的轮播的图片滚动实例,需要的朋友可以参考一下[javascript]var forimg = function (foritem, hoverStop, defaultfor) {var _foritem = foritem.constructor == jQuery ? foritem : $(foritem);var imgarr = [{ "z-index": 1, "width":...

weixin_39620065的博客 92

swiper的简单图片轮播功能

swiper是一个相当强大的图片展示插件,下面我来介绍一下swiper的简单图片轮播功能。一般情况下我们所说的图片轮播就是在一个区域内有几张图片循环展示,有的可以滑动图片观看下一张图,有的可以点击图下方的小点来选择哪个图,也有点击两侧的左右按钮来切换图片展示。我们先来看一下如何实现 12345678910111213141516171819<div class="swiper-con...

iuyaha的博客 455
上一篇: 错误ORA-00257
下一篇: linux根目录不足,追加空间到根目录
code_deliverer
博客等级 码龄9年 1粉丝 2原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值