Я хотел иметь функцию наведения в сочетании с выбранной в данный момент функцией для навигации. Функция наведения присутствует, когда первая страница загружается; однако, после выбора элемента (и запуска скрипта), hover css, кажется, был удален, и я не уверен, почему. Вот мой файл (jsfiddle):Почему мой hover css удаляется jQuery?
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<link rel="shortcut icon" href="/favicon.ico">
<!--[if lt IE 9]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<script src="http://code.jquery.com/jquery.min.js" type="text/javascript"></script>
<title>TITLE</title>
<style>
ul {
list-style: none;
}
li {
background-color: orange;
color: white;
float: left;
padding: 10px;
}
li:hover {
background-color: grey;
color: black;
}
</style>
</head>
<body>
<ul>
<li>one</li>
<li>two</li>
<li>three</li>
<li>four</li>
<li>five</li>
</ul>
<script type="text/javascript">
$("li").click(function() {
$("li").each(function() {
$(this).css({'background-color' : 'orange',
'color' : 'white'});
});
setHighlighted(this);
});
var setHighlighted = function(ref) {
$(ref).css({'background-color' : 'grey',
'color' : 'black'
});
}
</script>
</body>
</html>
У меня нет энергии, чтобы писать полный ответ, но использование классы и сэкономить много головных боль при получении более чистый, Санер кода. Fiddle: http://jsfiddle.net/BxPW3/7/ –
Просто примечание стиля: было бы лучше и чище просто добавлять * класс * с JQuery и иметь объявление стиля класса в вашем CSS, а не устанавливать CSS стиль * напрямую * с помощью JQuery. –