Javascript 不是增删改查 class
Javascript not adding-removing class
我有一个元素,我想先隐藏然后在 1 秒后显示。这是我的 html 和我的 css.
function showLogo() {
var logo = document.getElementById("logo");
logo.classList.add( "notVisible" );
logo.classList.remove( "visible" );
}
setTimeout(showLogo, 1000);
html, body {
margin: 0px;
padding: 0px;
height: 100vh;
}
#container {
height: 100%;
width: 100vw;
background-color: white;
min-height: 580px;
text-align: center;
background-color: white;
vertical-align: middle;
}
img {
position: absolute;
top: -9999px;
bottom: -9999px;
left: -9999px;
right: -9999px;
margin: auto;
}
#logo {
position: absolute;
display: inline-block;
left:50%;
top:50%;
margin:-25vh 0vh 0vh -25vh;
height: 50vh;
width: 50vh;
}
.notVisible {
opacity: 0;
}
.visible {
opacity: 1;
transition: opacity 0.7s ease-in-out;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="container">
<div id="logo" class="notVisible">
<img id="rays" src="Images/PNGs/rayons.png">
<img id="base" src="Images/PNGs/baseLogo.png">
<img id="roue" src="Images/PNGs/roue.png">
<img id="letters" src="Images/PNGs/title.png">
</div>
没有显示任何内容。我之前曾尝试使用 jQuery 并且也没有工作,所以我决定使用完整的 javascript 解决方案但仍然没有工作。任何想法为什么。谢谢你的时间。
您写道:
logo.classList.add( "notVisible" );
logo.classList.remove( "visible" );
但应该是:
logo.classList.remove( "notVisible" );
logo.classList.add( "visible" );
您的 <div id="container">
也缺少结尾 </div>
。
您必须添加 visible
class 并删除 notVisible
,例如:
logo.classList.add( "visible" );
logo.classList.remove( "notVisible" );
希望这对您有所帮助。
function showLogo() {
var logo = document.getElementById("logo");
logo.classList.add( "visible" );
logo.classList.remove( "notVisible" );
}
setTimeout(showLogo, 1000);
html, body {
margin: 0px;
padding: 0px;
height: 100vh;
}
#container {
height: 100%;
width: 100vw;
background-color: white;
min-height: 580px;
text-align: center;
background-color: white;
vertical-align: middle;
}
img {
position: absolute;
top: -9999px;
bottom: -9999px;
left: -9999px;
right: -9999px;
margin: auto;
}
#logo {
position: absolute;
display: inline-block;
left:50%;
top:50%;
margin:-25vh 0vh 0vh -25vh;
height: 50vh;
width: 50vh;
}
.notVisible {
opacity: 0;
}
.visible {
opacity: 1;
transition: opacity 0.7s ease-in-out;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="container">
<div id="logo" class="notVisible">
<img id="rays" src="http://img-s-msn-com.akamaized.net/tenant/amp/entityid/BBybXEH.img?h=50&w=50&m=6&q=60&u=t&o=t&l=f&f=png">
<img id="base" src="http://img-s-msn-com.akamaized.net/tenant/amp/entityid/BBybXEH.img?h=50&w=50&m=6&q=60&u=t&o=t&l=f&f=png">
<img id="roue" src="http://img-s-msn-com.akamaized.net/tenant/amp/entityid/BBybXEH.img?h=50&w=50&m=6&q=60&u=t&o=t&l=f&f=png">
<img id="letters" src="http://img-s-msn-com.akamaized.net/tenant/amp/entityid/BBybXEH.img?h=50&w=50&m=6&q=60&u=t&o=t&l=f&f=png">
</div>
一切正常,但是您的函数 classes 需要切换。您需要删除 notVisible 并添加可见的 class:
function showLogo() {
var logo = document.getElementById("logo");
logo.classList.add( "visible" );
logo.classList.remove( "notVisible" );
}
setTimeout(showLogo, 1000);
我有一个元素,我想先隐藏然后在 1 秒后显示。这是我的 html 和我的 css.
function showLogo() {
var logo = document.getElementById("logo");
logo.classList.add( "notVisible" );
logo.classList.remove( "visible" );
}
setTimeout(showLogo, 1000);
html, body {
margin: 0px;
padding: 0px;
height: 100vh;
}
#container {
height: 100%;
width: 100vw;
background-color: white;
min-height: 580px;
text-align: center;
background-color: white;
vertical-align: middle;
}
img {
position: absolute;
top: -9999px;
bottom: -9999px;
left: -9999px;
right: -9999px;
margin: auto;
}
#logo {
position: absolute;
display: inline-block;
left:50%;
top:50%;
margin:-25vh 0vh 0vh -25vh;
height: 50vh;
width: 50vh;
}
.notVisible {
opacity: 0;
}
.visible {
opacity: 1;
transition: opacity 0.7s ease-in-out;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="container">
<div id="logo" class="notVisible">
<img id="rays" src="Images/PNGs/rayons.png">
<img id="base" src="Images/PNGs/baseLogo.png">
<img id="roue" src="Images/PNGs/roue.png">
<img id="letters" src="Images/PNGs/title.png">
</div>
没有显示任何内容。我之前曾尝试使用 jQuery 并且也没有工作,所以我决定使用完整的 javascript 解决方案但仍然没有工作。任何想法为什么。谢谢你的时间。
您写道:
logo.classList.add( "notVisible" );
logo.classList.remove( "visible" );
但应该是:
logo.classList.remove( "notVisible" );
logo.classList.add( "visible" );
您的 <div id="container">
也缺少结尾 </div>
。
您必须添加 visible
class 并删除 notVisible
,例如:
logo.classList.add( "visible" );
logo.classList.remove( "notVisible" );
希望这对您有所帮助。
function showLogo() {
var logo = document.getElementById("logo");
logo.classList.add( "visible" );
logo.classList.remove( "notVisible" );
}
setTimeout(showLogo, 1000);
html, body {
margin: 0px;
padding: 0px;
height: 100vh;
}
#container {
height: 100%;
width: 100vw;
background-color: white;
min-height: 580px;
text-align: center;
background-color: white;
vertical-align: middle;
}
img {
position: absolute;
top: -9999px;
bottom: -9999px;
left: -9999px;
right: -9999px;
margin: auto;
}
#logo {
position: absolute;
display: inline-block;
left:50%;
top:50%;
margin:-25vh 0vh 0vh -25vh;
height: 50vh;
width: 50vh;
}
.notVisible {
opacity: 0;
}
.visible {
opacity: 1;
transition: opacity 0.7s ease-in-out;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="container">
<div id="logo" class="notVisible">
<img id="rays" src="http://img-s-msn-com.akamaized.net/tenant/amp/entityid/BBybXEH.img?h=50&w=50&m=6&q=60&u=t&o=t&l=f&f=png">
<img id="base" src="http://img-s-msn-com.akamaized.net/tenant/amp/entityid/BBybXEH.img?h=50&w=50&m=6&q=60&u=t&o=t&l=f&f=png">
<img id="roue" src="http://img-s-msn-com.akamaized.net/tenant/amp/entityid/BBybXEH.img?h=50&w=50&m=6&q=60&u=t&o=t&l=f&f=png">
<img id="letters" src="http://img-s-msn-com.akamaized.net/tenant/amp/entityid/BBybXEH.img?h=50&w=50&m=6&q=60&u=t&o=t&l=f&f=png">
</div>
一切正常,但是您的函数 classes 需要切换。您需要删除 notVisible 并添加可见的 class:
function showLogo() {
var logo = document.getElementById("logo");
logo.classList.add( "visible" );
logo.classList.remove( "notVisible" );
}
setTimeout(showLogo, 1000);