- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
各位,我对 javascript 和 HTML 部分有疑问。
我需要点击向下箭头才能从第一个变为另一个等等。不幸的是,代码没有反应,所以我真的不知道如何解决。
为了更好地概览而缩短的代码。
主要问题在 javascript 中
HTML
HTML 足够好,可以更好地定位。
<section> <div style="width:40px; height:40px; background-color:black;" onclick="bottomscroll()"> </section>
<section > <h1>text</h1></section>
<section> <h1>text</h1></section>
<section> <h1>text</h1></section>
<section> <h1>text</h1></section>
CSS
我还缩短了 CSS 以获得更好的概览
.display-block { display:block; }
.display-none { display:none; }
#fullpage { overflow: hidden; margin: 0; padding: 0;
}
#fullpage section { min-height: 100%; }
#fullpage section h4 { margin: 0; padding: 0; }
#fullpage section:nth-child(1)
{
color:black;
background:url(/img/fabian-grohs-597395-unsplash.jpg);
background-repeat: no-repeat;
background-size: cover;
background-position: center;
height: 100vh;
}
#fullpage section:nth-child(1) h1
{
margin: 0;
padding: 0;
color:whitesmoke;
text-align: center;
padding: 70px;
font-family: 'Montserrat', sans-serif;
font-size:40px;
}
#fullpage section:nth-child(1) p
{
text-align: center;
color:white;
font-size:18px;
width: 70%;
margin:0 auto;
font-family: 'Inconsolata', monospace;
position: relative;
}
#fullpage section:nth-child(2)
{
color:#333;
background: white;
min-height: 100vh;
}
#fullpage section:nth-child(2) h1
{
margin: 0;
padding: 0;
color:#333;
text-align: center;
padding: 20px 0px;
font-family: 'Montserrat', sans-serif;
}
#fullpage section:nth-child(3)
{
color:black;
background: green;
min-height: 100vh;
}
#fullpage section:nth-child(4)
{
color:black;
background: green;
min-height: 100vh;
}
#fullpage section:nth-child(5)
{
color:black;
background: green;
min-height: 100vh;
}
Javascript
主要问题在 javascript 中
var page = 1;
function topscroll()
{
if(page != 1)
{
page -= 1;
var page = document.querySelector("#fullpage section:nth-child("+page")");
for(i = 0; i < 5; i++)
{
var pagehidden = document.querySelector("#fullpage section:nth-child("+i")");
pagehidden.classList.add("display-none");
pagehidden.classList.remove("display-block");
}
page.classList.add("display-block");
}
}
function bottomscroll()
{
if(page != 5)
{
page += 1;
var page = document.querySelector("#fullpage section:nth-child("+page")");
for(i = 0; i < 5; i++)
{
var pagehidden = document.querySelector("#fullpage section:nth-child("+i")");
pagehidden.classList.add("display-none");
pagehidden.classList.remove("display-block");
}
page.classList.add("display-block");
}
}
var page = 1;
function topscroll()
{
if(page != 1)
{
page -= 1;
var page = document.querySelector("#fullpage section:nth-child("+page")");
for(i = 0; i < 5; i++)
{
var pagehidden = document.querySelector("#fullpage section:nth-child("+i")");
pagehidden.classList.add("display-none");
pagehidden.classList.remove("display-block");
}
page.classList.add("display-block");
}
}
function bottomscroll()
{
if(page != 5)
{
page += 1;
var page = document.querySelector("#fullpage section:nth-child("+page")");
for(i = 0; i < 5; i++)
{
var pagehidden = document.querySelector("#fullpage section:nth-child("+i")");
pagehidden.classList.add("display-none");
pagehidden.classList.remove("display-block");
}
page.classList.add("display-block");
}
}
.display-block { display:block; }
.display-none { display:none; }
#fullpage { overflow: hidden; margin: 0; padding: 0;
}
#fullpage section { min-height: 100%; }
#fullpage section h4 { margin: 0; padding: 0; }
#fullpage section:nth-child(1)
{
color:black;
background:url(/img/fabian-grohs-597395-unsplash.jpg);
background-repeat: no-repeat;
background-size: cover;
background-position: center;
height: 100vh;
}
#fullpage section:nth-child(1) h1
{
margin: 0;
padding: 0;
color:whitesmoke;
text-align: center;
padding: 70px;
font-family: 'Montserrat', sans-serif;
font-size:40px;
}
#fullpage section:nth-child(1) p
{
text-align: center;
color:white;
font-size:18px;
width: 70%;
margin:0 auto;
font-family: 'Inconsolata', monospace;
position: relative;
}
#fullpage section:nth-child(2)
{
color:#333;
background: white;
min-height: 100vh;
}
#fullpage section:nth-child(2) h1
{
margin: 0;
padding: 0;
color:#333;
text-align: center;
padding: 20px 0px;
font-family: 'Montserrat', sans-serif;
}
#fullpage section:nth-child(3)
{
color:black;
background: green;
min-height: 100vh;
}
#fullpage section:nth-child(4)
{
color:black;
background: green;
min-height: 100vh;
}
#fullpage section:nth-child(5)
{
color:black;
background: green;
min-height: 100vh;
}
<section> <div style="width:40px; height:40px; background-color:black;" onclick="bottomscroll()"> </section>
<section><h1>text</h1></section>
<section><h1>text</h1></section>
<section><h1>text</h1></section>
<section><h1>text</h1></section>
最佳答案
您的问题是,每次您在元素上循环以添加 display-none
类,然后删除 display -block
然后在循环之后将 display-block
添加到所需的元素,而不删除在循环内添加的 display-none
。
代码应该是这样的:
function bottomscroll()
{
...
page.classList.remove("display-none"); /*added this*/
page.classList.add("display-block");
...
}
topscroll()
逻辑相同
这是一个只有一个功能的完整工作代码(在更正其他错误之后):
var nb = 1;
function bottomscroll() {
if (nb != 4) {
nb += 1;
var page = document.querySelector("#fullpage section:nth-child(" + nb + ")");
for (var i = 1; i < 4; i++) {
var pagehidden = document.querySelector("#fullpage section:nth-child(" + i + ")");
pagehidden.classList.add("display-none");
pagehidden.classList.remove("display-block");
}
page.classList.remove("display-none");
page.classList.add("display-block");
}
}
.display-block {
display: block;
}
.display-none {
display: none;
}
#fullpage {
overflow: hidden;
margin: 0;
padding: 0;
}
#fullpage section {
min-height: 100%;
}
#fullpage section h4 {
margin: 0;
padding: 0;
}
#fullpage section:nth-child(1) {
color: black;
background: url(/img/fabian-grohs-597395-unsplash.jpg);
background-repeat: no-repeat;
background-size: cover;
background-position: center;
height: 100vh;
}
#fullpage section:nth-child(1) h1 {
margin: 0;
padding: 0;
color: whitesmoke;
text-align: center;
padding: 70px;
font-family: 'Montserrat', sans-serif;
font-size: 40px;
}
#fullpage section:nth-child(1) p {
text-align: center;
color: white;
font-size: 18px;
width: 70%;
margin: 0 auto;
font-family: 'Inconsolata', monospace;
position: relative;
}
#fullpage section:nth-child(2) {
color: #333;
background: white;
min-height: 100vh;
}
#fullpage section:nth-child(2) h1 {
margin: 0;
padding: 0;
color: #333;
text-align: center;
padding: 20px 0px;
font-family: 'Montserrat', sans-serif;
}
#fullpage section:nth-child(3) {
color: black;
background: green;
min-height: 100vh;
}
#fullpage section:nth-child(4) {
color: black;
background: green;
min-height: 100vh;
}
#fullpage section:nth-child(5) {
color: black;
background: blue;
min-height: 100vh;
}
<div style="width:40px; height:40px; background-color:black;" onclick="bottomscroll()"> </div>
<div id="fullpage">
<section>
<h1>text1</h1>
</section>
<section>
<h1>text2</h1>
</section>
<section>
<h1>text3</h1>
</section>
<section>
<h1>text4</h1>
</section>
</div>
关于javascript - 使用 javascript 代码显示和隐藏部分的问题不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52936140/
今天有小伙伴给我留言问到,try{...}catch(){...}是什么意思?它用来干什么? 简单的说 他们是用来捕获异常的 下面我们通过一个例子来详细讲解下
我正在努力提高网站的可访问性,但我不知道如何在页脚中标记社交媒体链接列表。这些链接指向我在 facecook、twitter 等上的帐户。我不想用 role="navigation" 标记这些链接,因
说现在是 6 点,我有一个 Timer 并在 10 点安排了一个 TimerTask。之后,System DateTime 被其他服务(例如 ntp)调整为 9 点钟。我仍然希望我的 TimerTas
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我就废话不多说了,大家还是直接看代码吧~ ? 1
Maven系列1 1.什么是Maven? Maven是一个项目管理工具,它包含了一个对象模型。一组标准集合,一个依赖管理系统。和用来运行定义在生命周期阶段中插件目标和逻辑。 核心功能 Mav
我是一名优秀的程序员,十分优秀!