zoukankan      html  css  js  c++  java
  • 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开始。

  • 相关阅读:
    5.21动态生成dll
    xtype:"combo" 动态加载
    用javascript 禁止右键,禁止复制,禁止粘贴
    页面正在载入(js代码)
    Ext.data.Store
    转 C#生成JSON数据格式的函数
    .Net 3.5环境下常用数组性能测试
    Lucene.Net 2.3.1开发介绍 —— 二、分词(六)
    Lucene.Net 2.3.1开发介绍 —— 三、索引(三)
    Lucene.Net 2.3.1开发介绍 —— 三、索引(二)
  • 原文地址:https://www.cnblogs.com/jinhengyu/p/10258040.html
Copyright © 2011-2022 走看看