removeChild и вызов функции не работают. Я просмотрел все другие вопросы, но не могу понять, почему. Вот мой код ...removeChild не работает, но нет ошибки
var gameContainer = document.getElementById("game-container");
function startGame() {
\t var startButton = document.getElementById("start-button");
\t gameContainer.removeChild(startButton); \t \t \t \t \t \t //button disappears
\t var logo = document.createElement("IMG");
\t logo.src = "http://img.qj.net/uploads/articles_module/2048/poke_2Dlogo.gif";
\t gameContainer.appendChild(logo);
\t logo.id="logo"; \t \t \t \t \t \t \t \t \t \t //logo appears
\t var sublogo = document.createElement("P");
\t var sublogoText = document.createTextNode("Yellow Diamond Version");
\t sublogo.appendChild(sublogoText);
\t gameContainer.appendChild(sublogo);
\t sublogo.id="sub-logo";
\t var sublogoImg = document.createElement("IMG");
\t sublogoImg.src = "https://41.media.tumblr.com/6f25c533c98bfc58790eba699862437d/tumblr_inline_o0nqr4s49p1sp23ws_540.png"
\t gameContainer.appendChild(sublogoImg);
\t sublogoImg.id = "sub-logo-img";
\t setTimeout(preLogoFade,3000);
\t function preLogoFade() {
\t \t var logoOpacity = .9;
\t \t var logoInterval = setInterval(function(){LogoFade()},100);
\t \t \t function LogoFade() {
\t \t \t \t logo.style.opacity=logoOpacity;
\t \t \t \t sublogo.style.opacity=logoOpacity;
\t \t \t \t sublogoImg.style.opacity=logoOpacity;
\t \t \t \t logoOpacity-=.1;
\t \t \t \t if(logoOpacity==0){
\t \t \t \t \t gameContainer.removeChild(logo);
\t \t \t \t \t gameContainer.removeChild(sublogo);
\t \t \t \t \t gameContainer.removeChild(sublogoImg);
\t \t \t \t \t professorOpen();
\t \t \t \t }
\t \t \t } \t \t \t \t \t \t \t \t \t \t //LogoFade Function End
\t } \t \t \t \t \t \t \t \t \t \t \t \t //preLogoFade Function End
} \t \t \t \t \t \t \t \t \t \t \t \t \t //startGame Function End
function professorOpen() {
\t clearInterval(logoInterval);
\t gameContainer.style.backgroundImage = "url(http://vignette2.wikia.nocookie.net/steven-universe/images/9/90/Yellow_Diamond_by_Lenhi.png/revision/latest?cb=20160109203916)";
}
body {
\t background-color:black;
}
#game-container{
\t width:800px; height:700px;
\t border:1px solid white;
\t margin:0 auto;
\t background-image:none;
\t background-size:cover;
\t background-repeat:no-repeat;
}
#start-button{
\t width:100px; height:40px;
\t position:relative; top:330px; left:350px;
\t background-color:red;
\t border:1px solid white; border-bottom-width:2px; border-top-width:0px;
\t font-size:125%;
}
#start-button:hover{
\t color:white;
}
#logo{
\t width:100%; height:300px;
\t position:relative;
\t z-index:3;
}
#sub-logo{
\t text-shadow: 1px 0 5px white, -1px 0 5px white, 0 1px 5px white, 0 -1px 5px white;
\t color:#FEFF00;
\t text-align:center;
\t font-size:50px;
\t position:relative; bottom:70px; left:15px;
\t z-index:2;
}
#sub-logo-img{
\t width:550px; height:405px;
\t margin:auto;
\t position:relative; left:140px; bottom:170px;
\t z-index:1;
}
<!DOCTYPE html>
<html lang="en-US">
<head>
\t <title>Game</title>
\t <link rel="stylesheet" href="index/style.css">
</head>
<body>
\t <div id="game-container">
\t \t <button id="start-button" onclick="startGame()">Start</button>
\t </div>
\t <script src="index/src.js"></script>
</body>
</html>
Хотя элементы исчезают (из-за непрозрачности), они не удаляются, а setInterval никогда не заканчивается. Помоги пожалуйста!!!
'logoInterval' объявляется в другой области видимости функции. Вам нужно будет объявить его во внешней области. – Xufox
Не могли бы вы сначала свести его к минимальному рабочему примеру, т. Е. Фрагменту кода, чтобы этого было достаточно, чтобы воспроизвести проблему без всех ненужных структур, стилей и т. Д. Вероятно, вы также можете помочь найти ошибку, если вы хотя бы попытаетесь воспроизвести ее в небольшой автономной среде. – Marandil
Я считаю, что это столько, сколько я могу удалить. Это было много. Сожалею. –