• 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开始。

  • 相关阅读:
    Angular27 指令
    Angular26 ng-content和ng-container、投影的使用
    denied: requested access to the resource is denied
    kali 扫描之burp Suite学习笔记1
    VMware的包格式vmdk转换为virtualBox的ova
    面试之leetcode分治-求众数,x幂等
    C/c++语言开源项目总结
    面试之哈希表leetcode
    面试之leetcode20堆栈-字符串括号匹配,队列实现栈
    面试之leetcode链表
  • 原文地址:https://www.cnblogs.com/jinhengyu/p/10258039.html
Copyright © 2020-2023  润新知