JavaScript:图片轮流展示

JavaScript 字节流转图片显示 需要在前端接受后端传过来的字节流然后显示 // 字节流转图片 export function formatByte2Img(data) { let blobUrl = '' const bytes = new Uint8Array(data) const blob = new Blob([bytes], { type: 'image/png' }) blobUrl = (window.URL || window.webkitURL).createObjectURL(blob) return blo 阅读详情

本文记录了使用JavaScript实现图片轮流展示的方法。分为代码部分(html、JavaScript、css)和效果展示部分。

HTML包括一个图片展示区域和两个按钮,两个按钮分别表示上一张图片和下一张。img没有在html预先指定src值,功能在js里面实现,这样修改的时候可以只修改js。

<div id="imageDiv">
    <button id="previous">&lt;</button>
    <img />
    <button id="next">&gt;</button> 
</div>

 JavaScript部分,这里首先从dom里取一些值方便使用,再指定自增变量i、图片列表imgList、图片数NUM、图片路径PATH。之后执行语句将img初始化,展示第一张图片。接下来的两个函数分别绑定两个按钮的onclick属性,实现点击按钮切换图片。

    <script>
        var prev = document.getElementById('previous');
        var next = document.getElementById('next');
        var imgTag = document.getElementsByTagName('img')[0];
        var i = 0;
        const imgList = ['slash.png','dodge.png','peach.png'];
        const NUM = imgList.length;
        const PATH = 'resource/';

        imgTag.src = PATH + imgList[0];

        prev.onclick = function(){
            --i;
            while(i<0)i+=NUM;
            imgTag.src= PATH + imgList[i%NUM];
        }
        next.onclick = function(){
            ++i;
            imgTag.src = PATH + imgList[i%NUM];
        }
    </script>

以上内容就可以基本实现功能了,为了使页面至少还算能看,再给它写一点css吧

*{
            margin: 0;
            padding: 0;
        }
        #imageDiv{
            margin: 100px;
            padding: 20px;
            background-color: aliceblue;
            text-align: center;
        }
        button {
            width: 40px;
            height: 40px;
            border-radius: 50%;
            border-color: aliceblue;
            margin: 20px;
            background-color: white;
            color: gray;
            font-size: larger;
            position: relative;
            top: -150px;
        }
        img{
            height: 300px;
        }

效果:

 

可以点击两侧的按钮,循环展示三张卡图,如果想更换展示的图片的话,改imgList就可以。 

易错点:getElementsByTagName这样的带‘s’函数,返回的是数组,记得带下标。

JS_利用图片的二进制流展示图片 JS图片二进制流 阅读详情

相关推荐

AI与运筹学赋能:混合动力公交调度优化算法实战解析

组合优化是运筹学与计算机科学交叉的核心领域,旨在从海量可行方案中寻找最优解,其原理在于通过定义目标函数与约束条件,将复杂现实问题转化为可计算的数学模型。该技术的核心价值在于解决资源受限下的高效分配问题,广泛应用于物流、交通、生产调度等场景。在智慧交通领域,混合动力公交车辆调度正是一个典型的组合优化问题,涉及车辆、班次、充电桩等多重资源与时空约束。本文聚焦于通过贪婪启发式与模拟退火元启发式算法,求解大规模公交网络下的车辆调度与能耗优化方案,旨在实现总能源成本最小化。其中,模拟退火算法通过引入概率性接受劣解的策

weixin_42497762的博客 387

js实现页面展示图片

js实现前端展示图片,不用提交后端服务,就可以把图片转换成base64编码展示前端页面,而且可以对图片的尺寸进行压缩控制

记录:N10激光雷达串口编程,将数据存进 SQLite,并进行 ROS2 - cartographer 单雷达建图

N10 系列采用 TOF(time of flight)测距原理,通过测量调制激光的发射、返回时间差来测量物体与传感器的相对距离。激光发射器发出调制脉冲激光,内部定时器开始 从t1时刻计算时间,当激光照射到目标物体后,部分能量返回,当雷达接收到返回的激光信号时,在t2时刻停止内部定时器计时,光速C,激光雷达到达物体的距离D为:经过N10系列激光雷达内嵌的信号处理单元的实时解算得到探测物体的距离值,结合高精度自适应角度测量模块输出的角度信息,可以得到量程内周围 360 度环境 的二维平面信息。

m0_74013893的博客 1069

JS处理文件流(如果是图片显示在当前页面)

用ajax请求图片资源,服务器以文件流的形式返回。 1、返回类型需要设置为“blob”,所以需要用原生ajax,不能使用jq(原因:jquery将返回的数据转换为了string,不支持blob类型)(当然,你也可以引入组件拓展jq的能力,我知道的有一个:jquery-ajax-blob-arraybuffer.js); 2、使用FileReader将文件流转换成base64格式; 3.1、然...

XIADANXIN的博客 2万+

js图片转成文件流

第一步将图片临时路径转成 二进制。第二步将二进制转换为file。

hollebug的博客 2342

javaScript实现图片动态轮流展示

今天学到了用javaScript来实现几张图片轮流展示,并且可以用html5中ul列表来管理图片,选择查看图片 代码部分:<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>动态图片</title> <style type="text/css"> *{ padding:0px; margin

秘密基地 9602

javascript 实现多张图片轮流展示效果

 看到很多网站上都有这样的效果,感觉很不错。想据为己有,但是扣起来实在是太麻烦,于是自己写了一个。下面是简单的代码实现(只实现了基本的功能,样式和一些细节还没修改来)和以前一样,整合到了dojo中了,现在用的是1.0基本的原理很简单,在一个固定的地方展示图片和标题。这里用的是数组。指定展示图片用的id,以及展示标题的容器id。还有就是根据图片数组长度,动态创建一系列的手动切换按钮,

好风的老巢 4163

javascript实现多张图片轮流展示效果代码

看到很多网站上都有这样的效果,感觉很不错。想据为己有,但是扣起来实在是太麻烦,于是自己写了一个。下面是简单的代码实现(只实现了基本的功能,样式和一些细节还没修改来)和以前一样,整合到了dojo中了,现在用的是1.0基本的原理很简单,在一个固定的地方展示图片和标题。这里用的是数组。指定展示图片用的id,以及展示标题的容器id。还有就是根据图片数组长度,动态创建一系列的手动切换按钮,点击按

baidu_2008的专栏 2282

原创JS图片放大效果(二) — 多图点击切换,鼠标移上放大 代码很美,步履不停

继 javascript 简单的图片放大效果(一) 之后,把这个效果完善了一下,支持多图轮流切换,如下: 本次采用代码封装到一个对象的模式,和第一次函数式写法不一下,这样更清晰,添加自定义属性更方便,全部代码如下: 大图的地址用自定义属性的方式显示在标签如 li>img src="images/small.jpg" width="70" height="70" zoom="images/

A_post的专栏 2577

js实现html页面轮播图

注:轮播图的相片名字一般都有规律

lena blog 711

html 旋转木马 轮播,jQuery 3D旋转木马轮播图插件jquery.caroursel.js

插件描述:jquery.caroursel.js是一款非常实用的可自动轮播的jQuery旋转木马插件。该旋转木马将图片进行堆叠,轮流的将图片推送到最前面来展示,形成旋转木马的效果。使用方法该jQuery旋转木马插件需要引入jQuery,jquery.carousel.js文件。HTML结构该jQuery旋转木马插件使用一个来作为包裹元素,在它里面是一个无序列表,用于放置图片,以及两个作为前后导航按...

weixin_39671964的博客 537

超级无敌简单的轮播图实现

<!DOCTYPE html> <html> <head> <title>Test</title> <style> .img1{ display:block; } .img2{ display: none; } .img3{ display: none; } </style> <script type="text/

m0_49135418的博客 132

javascript 轮流显示图片

相片var obj = document.all.lyf;var i = 2;function cctv(){   obj.src = i + ".jpg";   i++;   if(i>17){      i=1;   }   setTimeout("cctv()",9000);}setTimeout("cctv()",9000);//第一次调用cctv函数  

XueJiang's Blog 1984

JS通过Axios接收文件流数据,并在页面中显示这张图片

在上面的代码中,我们可以看到.get请求通过responseType: 'blob’指定响应类型为文件流。然后,我们将响应中的数据转换为Blob对象,并通过URL.createObjectURL方法将它转换为URL。最后,我们创建一个img元素,并将URL作为src属性值,从而将图片展示在页面中。这里两种方法都是可以,大家随意选取其中一种即可(本来博主用的第二种方法,但是发现第一种写的代码更少,就更换并且记录下来了)

wd1073351726的博客 3327

JS 页面显示图片

JS 页面显示图片

前路漫漫,少年,继续披荆斩棘! 740

js图片流式转换及图片处理+createObjectURL+canvas+webgl+buffer

js 图片处理

m0_51244077的博客 2939

js:后端获取的图片数据正确展示

weixin_46030679的博客 1151

分享126个JS图片代码,总有一款适合您

JS

zy0412326的专栏 594

前端处理二进制文件流,预览图片、PDF

原生js实现预览图片、PDF 服务返回二进制流,用axios处理,指定blob类型,然后再转换成URL( 处理后会变成blob://... 这种格式);图片的话,作为src地址可以直接实现;预览PDF需要服务端的响应头Content-Type 为PDF类型application/pdf,不指定这种类型会直接下载,不能预览; 实例: axios指定responseType为blob类型接收响应: axios.get('url',{ params:{ key:this.key },

1234Wu--前端Blog 2万+

CUB-200-2011-ViT鸟类分类-高质量精讲

CUB_200_2011-ViT鸟类分类-高质量精讲

上一篇: java文件路径的写法相关
下一篇: HTML,JavaScript中文乱码
遊STAR
博客等级 码龄6年 6粉丝 8原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值