JS实现背景图按时切换或者每次更新
首先要有一个添加背景图片的div
<div id="myDiv"></div>
css样式中添加背景tu图
body{height:100%;}
#myDiv{background-image:url("img/yellow.jpg");height:100%;} //注意添加的背景图一定要设置具体的数值高度才会显示,而这里用100%是不可能显示的,这就需要在这个div的父类元素(在这里也就是body了)设置height:100%。然后再给它设100%。才是有效的。并且高度是全屏的。
js代码:
var currentImg=Math.floor(Math.random()*3); //也就是让currentImg取得0-3之间的随机值,可以I等于,0和3,这个是用来取图片的索引下标的。
var imgArr=['orange.jpg','green.jpg','yellow.jpg'];//定义一个数组来存放所有的图片
function changeImg(){
var img=document.getElementById("myDiv");
img.style.backgroundImage="url(img/"+img[currentImg]+")"; //这里特别要注意引号的使用,因为img[curentImg]是个变量,所以用"+变量+"
}
最后执行这个函数就可以啦
changeImg();
上面就是每次打开页面或者刷新的时候会随机在三张图片中选一个。
如果想要每隔一段时间换一个的话,只需把js修改成:
var currentImg=0; //这个是用来取图片的索引下标的。
var imgArr=['orange.jpg','green.jpg','yellow.jpg'];//定义一个数组来存放所有的图片
function changeImg(){
if(currentImg>=imgArr.length){currentImg=0} //当图片的索引超过图片数量就从第一个开始
else{currentImg++;}
var img=document.getElementById("myDiv");
img.style.backgroundImage="url(img/"+img[currentImg]+")"; //这里特别要注意引号的使用,因为img[curentImg]是个变量,所以用"+变量+"
}
后面执行时也有点不同需要用到setInterval
setInterval(changeImg,400);//每隔400ms就换一个
-------------------------------------
补充:
Math.random() 是(0 ,1)
Math.random()*3 是(0,3)
Math.random()*3+1 是(1,4)
Math.floor(Math.random()*3+1) 是[1,4] 可以等于1,4 Math.floor()是向下取整
所以这里取图片的索引有两种写法:1.var currentImg=Math.floor(Math.random()*3); 然后直接就取这个currentImg
2,让他0开始加,加到和长度一样或者比长度长时就又从0开始。
JS实现背景图按时切换或者每次更新的更多相关文章
- JS编写背景图切换
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8&qu ...
- hammer.js实现背景图手势缩放调整位置
<!DOCTYPE html> <html> <head> <script> function getxy(e){ var a=new Array() ...
- JS——百度背景图
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 利用css3的多背景图属性实现幻灯片切换效果
css3里关于背景的属性增加了可以添加多背景图的特性,例如: .box{background: url(img/1.png),url(img/2.png),url(img/3.png);} 这段css ...
- 整理今天js留下的作业(点击换图片换首页背景图)
<div class="buttons"> <button id="katong">卡通</button> <b ...
- texturepacker打包图片,场景切换时背景图有黑边
在使用TexturePacker打包图片之后,背景图在场景切换(有切换动画)时,明显能看到有黑边,在百度之后解决了. 知乎上边有网友贴出了两种解决方法,我抄过来如下: 第一种: 修改 ccConfig ...
- 分享一个快速设置背景的js 自动获取背景图的长宽
我来分享一个快速设置背景的js (需要jq支持!) 快速切图铺页面用---就是不需要手动输入背景图的长宽 自动获取背景图的长宽 : <div class="wrap"> ...
- js 动态生成背景图 GeoPattern
以前有个想法,能不能用JS动态创建CANVAS绘制图案当网页背景,在网络发现有现成的别人已经实现的:GeoPattern 代码如下: <!DOCTYPE html> <html> ...
- Node JS爬虫: 阮老师网站背景图
小白,轻喷,本文教你三分钟入门爬虫 前言 有一天发现,阮一峰老师的博客图片很好看,想收藏一下,因为几百张,一张张下载太慢,朋友推荐了个谷歌插件(Fatkun)确实挺好用的,这之后就对爬虫有了兴趣,这个 ...
随机推荐
- 提取nds游戏的音乐
nds游戏绝对是游戏界的瑰宝,尤其是有些游戏的音乐还很好听,所以想把它们提取出来.网上搜了下教程,这里整理一下,全程在archlinux下操作. 首先用到的工具是(vgmtrans)[https:// ...
- android开发笔记之Volley (1)
1. volley的简介 Volley is an HTTP library that makes networking for Android apps easier and most import ...
- jQuery选取表单元素
表单元素选择器 选择器 说明 :button <button>元素和type属性值为button的<input& ...
- python——关于Python Profilers性能分析器
1. 介绍性能分析器 profiler是一个程序,用来描述运行时的程序性能,并且从不同方面提供统计数据加以表述.Python中含有3个模块提供这样的功能,分别是cProfile, profile和ps ...
- pip运行报错Fatal error in launcher: Unable to create process using pip.exe
使用pip的时候报错Fatal error in launcher: Unable to create process using pip.exe 解决办法,升级pip python -m pip i ...
- LoadRunner字符串处理 - 补齐字符串
有些时候需要在某个字符串的前面用0补齐,以便满足长度的格式要求. 在LoadRunner中可以封装出一个函数来处理这种问题: /* Function to pad a string to x char ...
- 运用Unity实现依赖注入[有参构造注入]
上一篇章讲到关于使用Unity实现依赖注入的简单功能,针对有博友提出关于有参构造注入的问题; 本文同样通过一个实例来讲解如何实现此功能,文中一些分层讲解可以看上一文章(运用Unity实现依赖注入[结合 ...
- JS 错误处理与调试
在程序开发中难免会遇到一些错误,在成千上万的代码中去寻找错误非常明显相当于大海捞针.为此,每种计算机编程语言都要它独特的一套错误处理与调试机制.当然,JavaScript也不例外. 错误发生: 运行代 ...
- cocos2d-x:初探TestLua
打开\cocos2d-x-2.2.3\cocos2d-win32.vc2012.sln sln里面有个TestLuaproject 初探完成...(不要逗) 启动一下project,cocos2d-x ...
- SugarCE问题点记录
问:如何获取module参数?如果module参数不存在,如何处理?答:首先检查$_REQUEST['module'],然后再检查$sugar_config['default_module']是否有设 ...