У меня не работают скрипты. Уже даже копирую их а НЕ пишу, все равно не грузятся на с
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <link rel="stylesheet" href="css/style.css"> <title>Document</title> </head> <body>
<script type="text/javascript">
document.getElementById('nav').onmouseover= function(event) {
var target = event.target; // где был клик?
if (target.className == 'menu-item') {
var s=target.getElementsByClassName('submenu');
closeMenu();
s[0].style.display='block';
}
}
document.onmousemove=function(event) {
var target = event.target; // где был клик?
console.log(event.target);
if (target.className!='menu-item' && target.className!='submenu') {
closeMenu();
}
}
function closeMenu(){
var menu=document.getElementById('nav');
var subm=document.getElementsByClassName('submenu');
for (var i=0; i<subm.length; i++) {
subm[i].style.display="none";
}
}
</script>
<div id="nav"> <div class="menu-item"> Меню 1 <div class="submenu"> Подменю </div> </div> <div class="menu-item"> Меню 2 <div class="submenu"> Подменю </div> </div> <div class="menu-item"> Меню 3 <div class="submenu"> Подменю </div> </div> </div> </body> </html> |
https://learn.javascript.ru/onload-ondomcontentloaded
иначе на момент document.getElementById('nav') объект недоступен. В отладчик посмотреть. |
Sonya00,
Пожалуйста, отформатируйте свой код! Для этого его можно заключить в специальные теги: js/css/html и т.п., например: [html run] ... минимальный код страницы с вашей проблемой [/html] О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting. |
Готово
|
Цитата:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<link rel="stylesheet" href="css/style.css">
<title>Document</title>
</head>
<body>
<script>
document.addEventListener("DOMContentLoaded", function() {
document.getElementById("nav").onmouseover = function(event) {
var target = event.target;
if (target.className == "menu-item") {
var s = target.getElementsByClassName("submenu");
closeMenu();
s[0].style.display = "block";
}
};
document.onmousemove = function(event) {
var target = event.target;
console.log(event.target);
if (target.className != "menu-item" && target.className != "submenu") {
closeMenu();
}
};
function closeMenu() {
var menu = document.getElementById("nav");
var subm = document.getElementsByClassName("submenu");
for (var i = 0; i < subm.length; i++) {
subm[i].style.display = "none";
}
}
});
</script>
<div id="nav">
<div class="menu-item">
Меню 1
<div class="submenu">
Подменю
</div>
</div>
<div class="menu-item">
Меню 2
<div class="submenu">
Подменю
</div>
</div>
<div class="menu-item">
Меню 3
<div class="submenu">
Подменю
</div>
</div>
</div>
</body>
</html>
|
Спасибо. Но этот код был с сайта, вот мой, но он так же не работает. но пишется по понятнее чем пред. код.
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <link rel="stylesheet" href="css/style.css"> <link rel="stylesheet" href="css/menu-child-child.css"> <link rel="stylesheet" href="css/clean.css"> <title>Online Textbook</title> </head> <body> <div class="hover"> <div class="main"> <div class="logo"> <h1><a href="#" class="change-main">Online Textbook</a></h1> <div class="menu"> <ul class="menu-child"> <li class="indent"><a class="change" href="#">Об учебнике</a></li> <li class="indent"><a class="change" href="#">Практические работы</a> <ul class="menu-child-child"> <li><a href="#">ffffffffff</a></li> </ul> </li> <li class="indent"><a class="change" href="#">Тестирование</a> <ul class="menu-child-child"> <li><a href="#">fffffffffff</a></li> </ul> </li> <li class="indent"><a class="change" href="#">Дополнительная информация</a> <ul class="menu-child-child"> <li><a href="#">ffffff</a></li> </ul> </li> </ul> </div> </div> </div> </div>
<script>
var el document.getElementByClassName('menu-child');
for (var i=0; i<element.length; i++;)
el[i].addEventListener('mouseenter', showSub, false);
el[i].addEventListener('mouseleave', hideSub, false);
function showSub() {
if (this.children.length>1) {
this.children[1].style.height = "auto";
this.children[1].style.height = "opacity";
this.children[1].style.height = "visible";
}
else {
return: false;
}
}
</script>
body {
margin: 0;
font-family: Roboto, sans-serif;
}
.hover {
display: flex;
justify-content: center;
}
.main {
margin: 35px 35px 35px 35px;
}
.logo {
display: flex;
}
.change-main {
color: black;
text-transform: uppercase;
text-decoration: none;
/*font-size: 0.9em;*/
}
.menu {
padding: 0px 0px 0px 200px;
}
.menu-child {
display: flex;
}
.indent {
display: block;
padding: 0px 15px 0px 0px;
}
.change {
text-transform: uppercase;
text-decoration: none;
color: black;
font-size: 11.5px;
letter-spacing: 2px; /*Отступы между букв*/
}
.menu-child-child {
[overflow: hidden; height: 0; opacity: 0; transition: all 0.5s; ease-in;]
}
|
Цитата:
|
| Часовой пояс GMT +3, время: 22:49. |