【问题标题】:Random fade-in and fade-out随机淡入淡出
【发布时间】:2014-01-04 01:39:35
【问题描述】:

我需要下面的每个闪光随机淡入和淡出,但不是一次全部。一次1-2个没问题。另外,我不希望“Pack”图像褪色。我不希望由于悬停等功能而使闪光淡入/淡出。我还需要它们在 5 秒后全部消失。请帮助,我已经尝试了所有方法,但无法弄清楚.. 我是 Web 开发和 javascript 的新手。

这是我找到的一个小提琴,我希望它与此类似,我尝试编辑代码。我现在很困惑。

http:// jsfiddle(dot)net/maniator/rcts4/ - Fiddle(我不能上传超过 2 个链接,请去掉 http:// 后面的空格并将“(点)”替换为 .查看小提琴。

http://pastebin.com/DkDjU0qS - HTML http://pastebin.com/Zr1vjafn - CSS

【问题讨论】:

标签: javascript jquery html css testing


【解决方案1】:

HTML

<html>
    <head>
        <link rel="stylesheet" href="style.css" />
    </head>

    <body>
        <!-- Pack -->
        <img id="pack" src="http://cloud.attackofthefanboy.com/wp-content/uploads/2013/07/fifa14pack.png">

        <!-- Sparkles-->
    <div id="sparkles">

        <img id="sparkle1" src="http://www.clker.com/cliparts/w/L/F/v/7/8/sparkle-md.png">

        <img id="sparkle2" src="http://www.clker.com/cliparts/w/L/F/v/7/8/sparkle-md.png">

        <img id="sparkle3" src="http://www.clker.com/cliparts/w/L/F/v/7/8/sparkle-md.png">

        <img id="sparkle4" src="http://www.clker.com/cliparts/w/L/F/v/7/8/sparkle-md.png">

        <img id="sparkle5" src="http://www.clker.com/cliparts/w/L/F/v/7/8/sparkle-md.png">

        <img id="sparkle6" src="http://www.clker.com/cliparts/w/L/F/v/7/8/sparkle-md.png">

        <img id="sparkle7" src="http://www.clker.com/cliparts/w/L/F/v/7/8/sparkle-md.png">

        <img id="sparkle8" src="http://www.clker.com/cliparts/w/L/F/v/7/8/sparkle-md.png">
        </div>
        <script>

        // Define a random integer function
        function random(n) {
            return Math.floor(Math.random() * n);
        }

        // Define some variables, hide all images and show just one of them.
        var transition_time = 500;
        var waiting_time = 500;
        var images = $('div#sparkles img');
        var n = images.length;
        var current = random(n);

        images.hide();
        images.eq(current).show();

        // Periodically, we fadeOut the current image and fadeIn a random one
        var interval_id = setInterval(function () {
             images.eq(current).fadeOut(transition_time, function () {
                 current = random(n);
                 images.eq(current).fadeIn(transition_time);
             });
        }, 2 * transition_time + waiting_time);

       </script>
    </body>
</html>

CSS

 html, body {
        width: 100%;
        height: 100%;

        background-color: white;
    }

    #pack {
        position: absolute;
        top: 50%;
        left: 50%;
        height: 300px;
        width: 200px;
        margin-top: -100px;
        margin-left: -100px;
    }

    #sparkle1 {
        position: absolute;
        top: -8%;
        left: 50%;
        height: 140px;
        width: 150px;
    }

    #sparkle2 {
        position: absolute;
        top: 90%;
        left: 57%;
        height: 180px;
        width: 155px;
    }

    #sparkle3 {
        position: absolute;
        top: 94%;
        left: 29%;
        height: 140px;
        width: 115px;
    }

    #sparkle4 {
        position: absolute;
        top: 25%;
        left: 86%;
        height: 150px;
        width: 123px;
    }

    #sparkle5 {
        position: absolute;
        top: 20%;
        right: 83%;
        height: 145px;
        width: 118px;
    }

    #sparkle6 {
        position: absolute;
        top: 79%;
        right: 82%;
        height: 150px;
        width: 120px;
    }

    #sparkle7 {
        position: absolute;
        top: 52%;
        right: 85%;
        height: 150px;
        width: 130px;
    }

    #sparkle8 {
        position: absolute;
        top: 50%;
        left: 85%;
        height: 180px;
        width: 160px;
    }

    #sparkles {
        position: absolute;
        top: 50%;
        left: 50%;

        width: 500px;
        height: 500px;
        margin-top: -250px;
        margin-left: -250px;
    }

这是更新后的JSFiddle

希望这会有所帮助。

【讨论】:

  • 这肯定有帮助,但我对 Javascript 不太熟悉.. :/ 我不确定转换时间等如何工作。我也试过在 Plunker 上玩弄这段代码,但我无法让它发挥作用。
  • 这是毫秒,我会用你的代码更新 JSFiddle。
  • 非常感谢您,它运行良好! :) 有什么办法可以阻止同样的重复闪光?我注意到它已经发生了很多。
  • 只需像这样评论或删除这一行: //images.eq(current).show();这是小提琴:jsfiddle.net/felipekm/UxLhE/3 -- 尝试 JavaScript 窗口的第 14 行。
猜你喜欢
  • 2011-08-05
  • 2012-04-30
  • 1970-01-01
  • 2015-11-11
  • 2012-01-16
  • 1970-01-01
  • 1970-01-01
  • 2017-12-07
  • 2010-11-03
相关资源
最近更新 更多