Хотите улучшить этот вопрос? Переформулируйте вопрос так, чтобы он был сосредоточен только на одной проблеме.
Закрыт 2 года назад.
кто может может помочь?
Суть токава мне нужно сделать так что бы при наведение или при переключение стрелочками на клавиатуре элемент точно находился внутри элемента menuElements
и если элемент li
вылазит за рамки то подкрутить scroll.
И еще при наведение на menuElements
scroll блокировался.
Хочу сделать также как и в https://vk.com/edit хороший пример в элементе День рождения: Год
window.document.onkeydown = function() {
var input = document.querySelector('ul').querySelector('li.active');
var key = event.keyCode;
var needFocusElement = true;
try {
switch (key) {
case 38: // стрелка вверх
needFocusElement = input.previousElementSibling;
break;
case 40: // стрелка вниз
needFocusElement = input.nextElementSibling;
break;
default:
needFocusElement = false;
}
} catch (e) {
needFocusElement = false;
}
if (!needFocusElement) return;
input.classList.remove('active');
needFocusElement.classList.add('active');
}
document.querySelector('.menuElements').onmouseover = function() {
if (!event.target.closest('li')) return;
event.target.closest('li').classList.add('active');
event.target.closest('.menuElements').querySelectorAll('li').forEach(notActive => {
if (event.target.closest('li') == notActive) return;
else notActive.classList.remove('active');
});
};
* {margin: 0;padding: 0;outline: none;}
body {
color: #000;
background-color: #EDEEF0;
font-family: -apple-system, BlinkMacSystemFont, Roboto, Helvetica Neue, Geneva, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Osmanya, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thai, sans-serif;
}
li {list-style-type: none;}
.menuElements {
width: 350px;
min-height: 0;
max-height: 150px;
overflow: auto;
background-color: white;
border: 1px solid blue;
margin: 10px;
}
.menuElements > li {
width: 100%;
height: 35px;
border-bottom: 1px solid green;
line-height: 34px;
padding: 0 15px;
box-sizing: border-box;
}
ul > .active {
background-color: red;
}
<body style="height: 2000px;">
<ul class="menuElements">
<li class="active">Element1</li>
<li>Element2</li>
<li>Element3</li>
<li>Element4</li>
<li>Element5</li>
<li>Element6</li>
<li>Element7</li>
<li>Element8</li>
<li>Element9</li>
<li>Element10</li>
<li>Element11</li>
<li>Element12</li>
<li>Element13</li>
<li>Element14</li>
<li>Element15</li>
<li>Element16</li>
<li>Element17</li>
<li>Element18</li>
<li>Element19</li>
<li>Element20</li>
<li>Element21</li>
<li>Element22</li>
<li>Element23</li>
<li>Element24</li>
<li>Element25</li>
<li>Element26</li>
<li>Element27</li>
<li>Element28</li>
<li>Element29</li>
<li>Element30</li>
<li>Element31</li>
<li>Element32</li>
<li>Element33</li>
<li>Element34</li>
<li>Element35</li>
<li>Element36</li>
<li>Element37</li>
<li>Element38</li>
<li>Element39</li>
<li>Element40</li>
</ul>
</body>
Вы можете прокрутить скрол до элемента с помощью функции element.scrollIntoView()
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Ниже есть картинка сайтаКак такое создается? С помощью каких средств? Знаю, что такое можно сделать с помощью WebAssembly, но данный сайт сделан...
Я написал простой класс для child_processspawn
Подскажите пожалуйста, возможно ли с помощью JS или каких-либо фреймворков изменять значение переменной непосредственно в файле (с перезаписью...