3 回答
TA贡献1801条经验 获得超8个赞
好的,首先把所有的JS放在单独的文件中,而不是HTML文件中。然后,使用 CSS 和 DOM 逻辑。你想要的是每次你改变幻灯片,标题的颜色都会改变,这意味着每次你改变幻灯片时,你的标题都会得到一个新的类:
https://codepen.io/djcaesar9114/pen/mdVPmaV
在你的简历中
.pink-header {
background-color: pink;
}
.yellow-header {
background-color: yellow;
}
.grey-header {
background-color: grey;
}
在你的 JS 中
document.getElementById('header').className = (x[slideIndex - 1].getAttribute('id'));
这条线在做什么:
获取要显示的幻灯片:
x[slideIndex - 1]
取其ID:
.getAttribute('id')
获取此 id 并将其作为标头的类:
document.getElementById('header').className =
这意味着,如果您的幻灯片具有ID“粉红色标题”,因此CSS中的“#pink标题”,则您的标题将获得类“粉红色标题”,因此CSS中的“.pink-header”。
TA贡献1963条经验 获得超6个赞
如果要创建多个条件语句,则必须使用 if-else 链接 if 语句。我纠正了下面的j查询。请记住,它将按顺序遍历每个语句,如果第一个语句为真,则不会继续通过链
var yellowHeader = $(".mySlides").is("#yellow-header");
var greyHeader = $(".mySlides").is("#grey-header");
var pinkHeader = $(".mySlides").is("#pink-header");
if (yellowHeader) {
$('header').css({"background-color":"#FFF231"});
} else if (greyHeader) {
$('header').css({"background-color":"#F4F4F4"});
}
header {
position: fixed;
/*-- other code omitted --*/
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<header id="header">
<h2 id="dialogues-header">HEADER—</h2>
<h2 id="spring-right">Spring 2020</h2>
</header>
<div class="mySlides" id="grey-header">
<div class="container">
<main class="main-one">
<img class="artwork" src="image.jpg" />
</main>
<aside class="info">
<h3>Header</h3>
<div class="text-blurb">
<p>text</p>
</div>
</aside>
<main class="main-two yellow">
<h1 id="number">1</h1>
<h1 id="name-right">name</h1>
</main>
<main class="main-three">
<iframe src="link"></iframe>
</main>
</div>
</div>
<div class="mySlides" id="yellow-header"> same as above </div>
添加回答
举报