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地址也可以从后台用随机数生成,效果是一样的。

 

posted @ 2018-10-30 16:54  QiaoZhi  阅读(2170)  评论(0编辑  收藏  举报