jquery - 让具有类别的对象在循环中随机出现/消失

标签 jquery animation random

我正在尝试模仿星星背景。

星星是在加载时创建并随机散布在整个网站上的。到目前为止我已经调整了一些代码。

var star="<span class='star'>•</span>";
var numStars=100;
for(var x=1;x<=numStars;x++){
    $(star).appendTo("body");
}
// get window dimentions
var ww = $(window).width();
var wh = $(window).height();
$(".star").each(function(i){
    var posx = Math.round(Math.random() * ww)-20;
    var posy = Math.round(Math.random() * wh)-20;
    $(this).css("top", posy + "px").css("left", posx + "px");
});

https://jsfiddle.net/0quLgtaq/3/

我现在喜欢让它们随机淡入、保持,然后淡出。

我认为该方法是随机选择一颗星星,然后向其添加一个 .active 类,然后在 x 秒后将其删除。处于某种循环中。

我不太确定从哪里开始。任何让我开始的粗略代码都会很棒。谢谢

最佳答案

您可以使用CSS animations :

jQuery(document).ready(function($) {
    var star = "<span class='star'>•</span>";
    var numStars = 100;
    for (var x = 1; x <= numStars; x++) {
        var randomDelay = Math.random()*10;
        $(star)
            .css("animation-delay", randomDelay + "s")
            .appendTo("body");
    }
    // get window dimensions
    var ww = $(window).width();
    var wh = $(window).height();
    $(".star").each(function(i) {
        var posx = Math.round(Math.random() * ww) - 20;
        var posy = Math.round(Math.random() * wh) - 20;
        $(this)
            .css("top", posy + "px")
            .css("left", posx + "px");
    });
});
.star {
    color: black;
    position: absolute;
    opacity: 0;
    animation: fade 2s linear;
}

@keyframes fade {
    0%,
    100% {
        opacity: 0
    }
    50% {
        opacity: 1
    }
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

同时在 Fiddle .

关于jquery - 让具有类别的对象在循环中随机出现/消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38912324/

相关文章:

javascript - 将事件保留在 Fullcalendar 中

swift - 按下主页按钮然后再次启动时未调用 viewDidAppear()

android View 动画放大和缩小弹跳

objective-c - 在 Objective-C 中生成唯一数字的随机数?

c++ - C++ 11 mersenne_twister_engine 类的问题

java - 如何在不导入任何内容的情况下对 N 大小的数组进行洗牌

jquery - 使用 jQuery 在页面加载时创建默认列表项

php - jquery、iframe 和表单 天哪!

javascript - 单击 img 时将 html 和 body 移到顶部

javascript - 为所有主流浏览器创建 css3 无限旋转