js 定时更改div背景图片

今天遇到一个业务场景,使用js将一个div标签的背景图片定时更换一下。

之前百度了几个,有css+js,也有css3的,不过css3的兼容有问题,之后同事提示,可以使用js直接来更换div的北京图片,不使用css+ul+il的形式。

推荐的阅读https://blog.csdn.net/woyizhidouzai0505/article/details/41176565?utm_source=blogxgwz1

这个博客写的很好,用的也是这个方法。

下面写两种情况:

第一种是先规定几张图片,随机选中其中一个显示

/*  <img id="div_first" src=‘./image/first1.jpg‘ style="width:1348px;height:657px; "/>    */  // 下面getElementById部分为想要更改的那部分的id属性,我的是这么写的

js代码:

1 var imgs =["first1.jpg", "first2.jpg", "first3.jpg"];//(设定想要显示的图片)
2 function time(){
3     var i = Math.floor(Math.random()*(3+0)+0); //(获取随机数,设置m~n的随机,此处3是代表n,0处是m,可以替换)
4     document.getElementById("div_first").src ="./image/"+imgs[i];  //红色部分是自定义的图片文件夹目录
5 }
6 setInterval("time()",3000);           //设定为3秒,可更换

第二种是规定图片,并按照顺序循环显示

js代码:

1 var imgs =["first1.jpg", "first2.jpg", "first3.jpg"];    //(设定想要显示的图片)
2 var x = 0;
3 function time1(){
4     x++;
5     x=x%3;         //         超过2则取余数,保证循环在0、1、2之间
6     document.getElementById("div_first").src ="./image/"+imgs[x];
7 }
8 setInterval("time1()",3000);//方法和时间

不过这个是更新img的图片,不是div的。

div的北京图片的更改稍微复杂一点,如下

1 var obj = document.getElementById("d1");//获得id名为d1的对象
2 obj.style.backgroundImage= "URL("+路径+")";       //显示对应的图片

使用的是https://blog.csdn.net/qq_34129336/article/details/77581410的方法,这个博客也有一个js更换图片的方法,也可以看看。

 

原文地址:https://www.cnblogs.com/Lvkang/p/9870120.html

时间: 2024-08-19 12:23:47

js 定时更改div背景图片的相关文章

js 动态设置 div 背景图片 并滚动显示

var imgs =["../img/index/bgstyle/style1/index_top_bg2.jpg", "../img/index/bgstyle/style1/index_top_bg3.jpg", "../img/index/bgstyle/style1/index_top_bg1.jpg"]; //(设定想要显示的图片) var i = 0; var head=document.getElementsByClassName(

div嵌套div 背景图片 不显示的问题

这几天 在做一个小Demo的时候碰到了如上的问题,一个DIV嵌套多个DIV时,父容器DIV不显示背景图片.同时结合之前碰到类似的问题,我归纳了如下几个解决方法: 1.就是常见的 子div 背景把父div的背景给盖住了,例子: 该例子就是 我有一个父div 和它里面嵌套的一个子div,两个div的宽度和高度大小是一样的,其中父div的背景图片就是上面这张图片(箭头部分是透明的),子div的背景图片是那种渐变灰色图片,其实懂英语的人应该看出来了就是,我想实现一个那种类似于iphone滑动那种灯光从

控件实现点击预览图片更改页面背景图片的效果

本实例将在页面上放置2个ImageButton并设置背景图片,当点击其中一个按钮时对应的会将网页的背景图片更改为按钮的背景图片.程序实现的主要步骤为:(1)新建一个网站并创建Default.aspx页面,在Default.aspx页面上添加2个ImageButton控件,其属性设置如表3.9所示.表3.9 ImageButton控件属性设置 (2)属性设置完成之后再来添加单击事件,将编辑器切换到"设计"模式下,分别双击2个按钮使其自动生成2个事件处理方法,这时在后台代码的Page_Lo

div背景图片或颜色不显示的解决办法

背景图片不显示的原因: 1. css没有被调用 2. css图片地址不对 3. div的高度没有固定,是auto.没有设值或者高度不够 4. div被嵌套 5. div代码不规范 解决办法: (1)DIV高度为自动,背景颜色无法显示,在代码中将原代码height:auto; 改为height:100%; overflow:hidden;!important:同时还可以兼容 IE6.7.8和谷歌火狐. (2)假设对一个对象设置了background背景颜色样式,该对象内部盒子有使用float浮动属

div背景图片自适应

在为文莱的一个天气预报网站做页面,突然遇到一个问题,就是需要div的背景图片自适应屏幕大小,网上找了好久,chrome都无效,最后找到了一个,说要这么写 .product_wx { background:url('../images2/bgd_1.jpg'); filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod='scale'); -moz-background-size:100% 100%; backgr

iOS - 更改NavigationBar背景图片 - 图片水平重复问题

当使用函数 - (void)setBackgroundImage:(nullable UIImage *)backgroundImage forBarMetrics:(UIBarMetrics)barMetrics 给导航条设置背景图片时,如果传入的图片不通过处理,会导致在6和6s里出现图片水平方向重复的问题(图片本身宽度不够的情况下) 解决方法:对传入的图片进行处理,使用UIImage的函数 - (UIImage *)resizableImageWithCapInsets:(UIEdgeIns

ie8 div背景图片单击无效

最近使用背景图片做了个展开和关闭的样式如下: .iconcut { background: url("images/iconBg01.gif") no-repeat left -248px; height: 16px; width: 16px; display: inline-block; margin: 6px; float: left; } 效果出来如下: 但是在ie8下面怎么点击都不会展开,添加防止冒泡代码e.stopPropagation();  还是不行. 后来修改样式, .

JS中如何设置背景图片?

方法一:  预先设置好一个样式,当用到的时候,只需要给这个对象添加一个类名就行了. eg: css中:.bj { background: url(star.jpg) no-repeat center; background-size: cover; } js中: oBox.className = "bj"; 方法二: 直接使用JS的元素属性style 1 oBox.style.backgroundImage = "url(star.jpg)";//设置背景图的的地址

Ext.js给form加背景图片

{ iconCls: 'zyl_icons_showdetail', tooltip: '查看', handler: function(gridView, rowIndex, colIndex) { var rowInfo = gridView.up('grid').getStore().getAt(rowIndex); if (Ext.isEmpty(rowInfo.get('adFlag'))) { rowInfo.set('adFlag', 0); } var viewWindow = m