Есть меню, в меню несколько пунктов, как сделать так чтобы при клике на какой-то из них, background менял цвет(допустим. серый), и оставался серым до тех пор, пока не нажали другой пункт меню. Но кроме этого нужен еще hover или mouseover/out (подскажите, что лучше). Так вот, чтобы при нажатом каком-то пункте mouseout не убирал цвет я использовал unbind. Дальше возникла проблема в том, что при нажатом пункте меню, при наведении на другие пункты меню они тоже закрашиваются, то цвет и вовсе убирается. Я в общем перепробовал тысячу раз и каждый раз какие-то косяки, запутался уже.. К тому же, хотел сделать так, чтобы при обновлении странички или переходе на какой то пункт меню он оставался подсвеченным, это я реализовал с помощью localStorage, вроде работает, но тоже не очень. Буду премного благодарен за любую помощь) Я нуб в js поэтому сильно не бейте
$(document).ready(function ()
{
$("ul > li a").click(function ()
{
$("ul > li a").css({"background": "white"});
$(this).css({"background": "#ccc"});
$(this).unbind("mouseout");
})
.mouseover(function ()
{
$(this).css({"background": "#ccc"});
})
.mouseout(function ()
{
$(this).css({"background": "white"});
});
});
Для подстветки активного (нажатого) пункта меню намного проще использовать дополнительный класс, например, .active
, и описывать стили для него непосредственно в css. С ховером тоже самое - пишите все стили в css, тогда не придется вешать лишние обработчики в js.
$('ul li a').on('click', function() {
var list = $(this).closest('ul');
list.find('li a').removeClass('active');
$(this).addClass('active');
});
ul li a.active,
ul li a:hover {
background: #ccc;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul>
<li><a>Пункт 1</a></li>
<li><a>Пункт 2</a></li>
<li><a>Пункт 3</a></li>
<li><a>Пункт 4</a></li>
<li><a>Пункт 5</a></li>
</ul>
Здравствуйте! Подключаю inputMask с алиасом hh:mm:ss если ввел к примеру 12:10:20, ставлю курсор на часы и удаляю символы - очищается только ячейка часовА...
Нужно посчитать количествоromb и для каждого создать отдельный div