JS实现随机背景图片与图片大小变换的效果
经常在网上见一些网站访问一次背景图片改变一次,而且图片的大小不停变换,于是想着自己研究一下。
背景图片可以通过JS的随机数来改变图片的src来实现随机图片,图片的大小变换可以用JS的setInterval实现。
img目录下的图片:
测试代码:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <script src="js/jquery-1.8.3.min.js"></script> </head> <body> <img id="img1" style="z-index: -1;position: absolute;left: 0;top: 0;" /> </body> </html> <script> + function() { //设置初始化设置 $("#img1").attr("src", "./img/" + getRandomSrc() + ".jpg"); var width = window.innerWidth > 0 ? window.innerWidth : document.body.clientWidth; //宽度 var height = window.innerHeight > 0 ? window.innerHeight : document.body.clientHeight; //高度 $("#img1").attr("width", width); $("#img1").attr("height", height); //动画效果 var changeSize = 100; var time = 3000; var heightChangeSize = changeSize * height / width; var bigWidth = width + changeSize; var bigHeight = height + heightChangeSize; $("#img1").animate({ width: bigWidth, height: bigHeight, left: -changeSize / 2, top: -heightChangeSize / 2 }, time); var flag = 0; setInterval(function() { if (flag == 1) { flag = 0; $("#img1").animate({ width: bigWidth, height: bigHeight, left: -changeSize / 2, top: -heightChangeSize / 2 }, time); } else { flag = 1; $("#img1").animate({ width: width, height: height, left: "0", top: "0" }, time); } }, time); }(); function getRandomSrc() { var rnd = Math.ceil(Math.random() * 7); return rnd; } </script>
结果可以实现每次访问图片src随机而且大小不停的变换。
一般是在登录页使用上面的效果实现呼吸图的效果,如果纵向出现滚动条的话可以用下面css代码隐藏滚动条:
<img id="img1" style="z-index: -1;position: absolute;left: 0;top: 0;width: 100%;height: 100%;"/>
html,body{ overflow-y:hidden; }
如果在JS不生效,图片的src地址也可以从后台用随机数生成,效果是一样的。
【当你用心写完每一篇博客之后,你会发现它比你用代码实现功能更有成就感!】
分类:
Web常用案例
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· Obsidian + DeepSeek:免费 AI 助力你的知识管理,让你的笔记飞起来!
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
2017-10-30 【Tomcat】如何优化tomcat配置(从内存、并发、缓存4个方面)优化
2017-10-30 ArrayList去除重复元素
2017-10-30 【commons-io】File对文件与目录的处理&FileUtis,IOUtils,FilenameUtils工具的使用
2017-10-30 mysql获取行号的方法