我正在尝试找到一种使用 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/