Работих по просто меню за игра за игра (което все още трябва да направя.) Кодът работи перфектно в jsfiddle обаче, когато отворя локалния си html документ, нито един от javascript не работи (console.log и друг код работи преди грешката ми) и получавам грешка във функцията ми createMenu: ред 67, което казва Uncaught TypeError: Не може да се прочете свойството "style" на undefined
Ето кода за функцията createMenu (също на jsfiddle)
var menu = document.getElementsByClassName("menu");
var menu2 = document.getElementsByClassName("menu2");
var createMenu = function()
{
menu[0].style.display = "block"; <---- Error
menu[1].style.display = "block";
menu[2].style.display = "block";
menu2[0].style.display = "none" ;
menu2[1].style.display = "none" ;
menu2[2].style.display = "none" ;
};
createMenu();
Забележка: Опитах се да направя блока на дисплея / нито един с цикъл за по-малко код, но изглежда не работеше изобщо, дори в jfiddle.
var createMenu = function()
{
var i = 0;
while (i <3 ) {
i++;
menu[i].style.display = "block";
menu2[i].style.display = "none" ;
}
};
Благодаря за помощта!
Отговори:
2 за отговор № 1Това вероятно е защото зареждате вашия JS код в head
елемент, което означава, че JS се изпълнява преди изобразяването на тялото ви. Ще трябва да изчакате пълното зареждане на DOM или да поставите скрипта си в края на тялото:
<!-- ... -->
<script src="your-script.js"></script>
</body>
</html>