【发布时间】:2023-03-19 12:22:01
【问题描述】:
我有一个 .canvas 类的部分,我想在上面显示图像(它是薯条的图片,我希望浇头出现在上面)。我已经设法让图像出现在具有画布类的部分上,但它们都堆叠在一起。如何使用相同的按钮同时添加图像并删除前一个图像,最好使用 jQuery。
$('#randomize').on('click', function() {
const imgArray = $('.imgContainer');
const randomImg = Math.floor(Math.random() * imgArray.length) + 1;
for (let i = 0; i < imgArray.length; i++) {
if (randomImg === 1) {
imgArray[0].style.display = 'block';
} else if (randomImg === 2) {
imgArray[1].style.display = 'block';
} else if (randomImg === 3) {
imgArray[2].style.display = 'block';
} else if (randomImg === 4) {
imgArray[3].style.display = 'block';
} else if (randomImg === 5) {
imgArray[4].style.display = 'block';
} else if (randomImg === 6) {
imgArray[5].style.display = 'block';
} else if (randomImg === 7) {
imgArray[6].style.display = 'block';
} else if (randomImg === 8) {
imgArray[7].style.display = 'block';
} else if (randomImg === 9) {
imgArray[8].style.display = 'block';
} else {
imgArray[9].style.display = 'block';
}
.imgContainer {
display: none;
}
<button id="randomize">Feed me</button>
<section class="canvas">
<div class="imgContainer ketchup">
<img src="./assets/images/ketchup.png" alt="">
</div>
<div class="imgContainer cheese">
<img src="./assets/images/cheeseCurds.png" alt="">
</div>
<div class="imgContainer peppers">
<img src="./assets/images/hotPeppers.png" alt="">
</div>
<div class="imgContainer bacon">
<img src="./assets/images/baconBits.png" alt="">
</div>
<div class="imgContainer iceCream">
<img src="./assets/images/iceCream.png" alt="">
</div>
<div class="imgContainer sprinkles">
<img src="./assets/images/sprinkles.png" alt="">
</div>
<div class="imgContainer vaccine">
<img src="./assets/images/vaccine.png" alt="">
</div>
<div class="imgContainer kitten">
<img src="./assets/images/kitten.png" alt="">
</div>
<div class="imgContainer sock">
<img src="./assets/images/dirtySock.png" alt="">
</div>
<div class="imgContainer face">
<img src="./assets/images/brendanFraser.png" alt="">
</div>
</section>
sn-p 在这里无法正常运行,因为它不包含整个文件。我只是不知道如何在删除前一张图片的同时添加一张图片。
【问题讨论】:
-
使用
clearRect重新绘制你想要的图像,而忽略你不想要的图像。
标签: javascript html jquery css for-loop