【发布时间】:2020-05-07 08:33:27
【问题描述】:
我想动态添加图像并使用图像滑块。我写了一些脚本,在控制台中我看到更改 src,但在 HTML 中仍然是一张图片。 这是一个代码:
HTML:
<div class="sliderItau">
<a class="prevButton"> <img alt="prevButton" src="/images/prev.png"></a>
<div class="jcarousel">
<img id="image" src="/images/debito/itau_tela_02.png" alt=""></div>
<a class="nextButton"><img alt="nextButton" src="/images/next.png"></a>
</div>
JS:
const images = []
let slideIndex = 1
function preload_images() {
var image = new Image()
image.src = 'images/debito/itau_tela_01.png'
images[0] = image
image = new Image()
image.src = 'images/debito/itau_tela_02.png'
images[1] = image
image = new Image()
image.src = 'images/debito/itau_tela_03.png'
images[2] = image
}
preload_images()
const showSlidesItau = function (n) {
let img = document.getElementById('image')
let slides = img.src
slides = images[slideIndex].src
console.log(slides)
console.log(images[slideIndex].src)
if (n > slides.length) {
slideIndex = 1
}
if (n < 1) {
slideIndex = slides.length
}
}
const plusSlides = function (n) {
console.log(slideIndex)
showSlidesItau((slideIndex += n))
}
const next = document.querySelector('.nextButton')
const prev = document.querySelector('.prevButton')
//buttons ITAU
next.addEventListener('click', function () {
plusSlides(+1)
})
prev.addEventListener('click', function () {
plusSlides(-1)
})
所以每次我按下 prev 或 next 按钮时,我在 colse 中的 src 都会发生变化。但不是在 HTML 中。知道为什么吗?
【问题讨论】:
-
slides = images[slideIndex].src- 您正在更改slides变量,而不是元素。需要直接更改属性:img.src = images[slideIndex].src -
哇!伟大的。我没想到 :) 谢谢 :)
-
@GuyIncognito 我认为您应该从您的评论中给出一个答案,以便提问者可以接受它,因为这显然解决了问题。
-
嗯。这基本上是一个错字,肯定有无数重复。
标签: javascript html