代码:
function showLetter() {
setInterval(function() {
var letter = imgsArray[random()];
var top = random();
var left = random();
$("div").append("<img src='imgs/" + letter + ".png'>");
$("div").last().css({"position": "absolute", "top": top + "px", "left": left + "px"});
}, 1000);
}
在数组 imgsArray
的每个位置,我都有一个图像的名称。
我想做什么: 每 1000 毫秒添加一个图像,在屏幕上给它一个随机位置。 (如果可以防止重叠,那就太好了,但我认为这已经得到解答)。
它的作用: 每 1000 毫秒,它添加一个新的字母图像,并为所有图像提供相同的属性,因此它们最终都水平对齐 :)
我真的不明白为什么会这样。使用 $("div").last().css()
,我不是选择添加到 div 的最后一张图像并只它的属性吗?
提前致谢。
最佳答案
$("div").last()
为您提供 `$("div")
jquery 对象中的最后一项。该 jQuery 对象中没有图像。
也许你想要的是:
$("div img").last()
但是,这是非常低效的。如果只想对新建的图片对象进行操作,那么直接操作即可:
function showLetter() {
setInterval(function() {
var letter = imgsArray[random()];
var top = random();
var left = random();
var img = $("<img src='imgs/" + letter + ".png'>");
img.css({"position": "absolute", "top": top + "px", "left": left + "px"});
$("div").append(img);
}, 1000);
}
关于javascript - 更改最后一张图片的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17358792/