javascript - 如何使用jquery随机删除变量?

标签 javascript jquery

我正在尝试找到一种使用 jquery 从网络上的某些 div 中删除变量的方法。 这不涉及使用数组。如果我可以使用 fadeIn()search()remove(),那就更好了。

var something = '#img' + count;

在网络上,图像将随着时间的推移添加到 div (使用 setTimeout)。这些图像已分配给变量(something),我需要找到一种方法将其从网络上的某些 div 中删除。它可以隐藏、删除等等,它必须从用户的 View 中随机消失(时间和哪个图像都会消失)。

感谢您的帮助和您提前抽出的时间。

我的函数代码:

var count = 0;

function foo() {
  var xPos = xPosition();
  var yPos = yPosition();
  var someTime;

  $("div").append('<img id="Img" ' + count + ' src = "img.png" style="top:' + yPos + 'px; left: ' + xPos + 'px; " />');
  var something = "#Img" + count;
  someTime = setTimeout('foo()', randInterval());
  $(something).hide();
  count++;

  if (timeRemaining == 0) {
    clearTimeout(someTime);
    return;
  }

最佳答案

给所有图像一个类。然后,您可以使用 $(".class").length() 获取图像数量,在此范围内选择一个随机数,然后使用 .eq()< 删除该元素.

function addImage() {
    var xPos = xPosition();
    var yPos = yPosition();
    $("div").append($("<img>", {
        src: "img.png",
        "class": "imageclass",
        style: {
            top: yPos+"px",
            left: xPos+"px"
        }
    }));
    setTimeout(addImage, randInterval());
}
setTimeout(addImage, randInterval());

function removeImage() {
    var images = $(".imageclass");
    if (images.length) {
        var rand = Math.floor(Math.random() * images.length);
        images.eq(rand).remove();
    }
    setTimeout(removeImage, randInterval());
}
setTimeout(removeImage, randInterval());

在我的代码中,我使用单独的计时器来添加和删除图像。如果您愿意,可以从 removeImage() 中删除 setTimeout,然后从 addImage 中调用它,这样无论何时它都会删除图像添加一个新的。

关于javascript - 如何使用jquery随机删除变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37063169/

相关文章:

Javascript 条件运算符与来自 Javascript 对象的字符串

javascript - 更新了 WordPress,我的平滑滚动停止工作

javascript - 计算不在范围集之间的最小值

javascript - 隐藏浏览器的地址栏

javascript - 在触发调整大小事件之前,粒子 js 无法正确显示

javascript - 使用指令会以 Angular 破坏 ng-view,如何?

javascript函数不改变字间距

javascript - 验证工资输入 jQuery

javascript - 根据背景更改导航字体颜色

javascript - 在 Bootstrap 模式中自定义 Google 搜索,在相同模式中打开结果