首页 > 解决方案 > 根据屏幕上显示的幻灯片更改对象的 div 类

问题描述

我目前正在建立一个有幻灯片的网站。我想根据当前显示的幻灯片更改元素的 div 类。不幸的是,当谈到 Javascript 时,我是一个完全的新手,到目前为止,我所有试图让某些东西工作的尝试都没有奏效(大概是因为我错过了一些非常基本的东西)。有谁知道如何最好地让它工作/任何人都可以写一些基本的 javascript 来让我这样做来让我开始吗?


控制幻灯片的代码:

var slideIndex = 1;
showSlides(slideIndex);

function plusSlides(n) {
  showSlides(slideIndex += n);
}

function currentSlide(n) {
  showSlides(slideIndex = n);
}

function showSlides(n) {
  var i;
  var slides = document.getElementsByClassName("mySlides");
  var dots = document.getElementsByClassName("demo");
  var captionText = document.getElementById("caption");
  if (n > slides.length) {slideIndex = 1}
  if (n < 1) {slideIndex = slides.length}
  for (i = 0; i < slides.length; i++) {
    slides[i].style.display = "none";
  }
  for (i = 0; i < dots.length; i++) {
    dots[i].className = dots[i].className.replace(" active", "");
  }
  slides[slideIndex-1].style.display = "block";
  dots[slideIndex-1].className += " active";
  captionText.innerHTML = dots[slideIndex-1].alt;
}

我痛苦的新手尝试让这个工作:

if (slideIndex = 1) {
  document.getElementById("bgcol").className="bga";
}

if (slideIndex = 2) {
  document.getElementById("bgcol").className="bgb";
}

标签: javascripthtmlcss

解决方案


将您的 if 语句放入函数中showSlides(n)(并且不要忘记在其中=更改==


推荐阅读