У меня есть элемент в верхнем левом углу страницы, который показывает меню, когда вы наводите курсор на него. Если вы заходите на страницу с помощью мыши полностью за пределами браузера, появится меню. Как только вы входите в браузер, он исчезает.
Я предполагаю, что положение мыши по умолчанию равно (0, 0), если вы не запускаете внутри браузера, и, поскольку эта позиция находится над моим элементом, это вызывает наведение. Я подтвердил это, переместив элемент на один пиксель вправо или на один пиксель вниз, и оба вели себя, как и ожидалось, без первоначального наведения.
Есть ли "правильный" способ объяснить это?
ОБНОВЛЕНИЕ: Вот код jQuery:
// Enable the user menu
$("#user")
.hover(
function() {
$("span", "#user").css("color", "#195d43");
$("div", "#user").show();
},
function() {
$("span", "#user").css("color", "Silver");
$("div", "#user").hide();
}
);
и элемент:
<div id="user">
Hello,
<%=appUser.Name%>
<span>►</span>
<div>
<a href="#">Change Password</a>
<a href="#">Manage Security Questions</a>
</div>
</div>
и CSS для элемента:
#user {
position: absolute;
top: 0px;
padding: 2px;
font-size: 12px;
color: #195d43;
background-color: #f1f1ee;
}
#user:hover {
background-color: #e1dfd9;
}
#user span {
color: Silver;
}
#user div {
display: none;
background-color: #f1f1ee;
position: absolute;
z-index: 999;
border: solid 5px #e1dfd9;
}
ОБНОВЛЕНИЕ 2: Это происходит в Chrome. Это не происходит в IE7. Само приложение MVC 1.0, VS 2008.