$("#id").hover()
Здравствуйте!
$("#logo").hover(
function () {
alert(2);
},
function(){
alert(2);
}
);
Есть такая хорошая конструкция и не хочет работать, даже ошибок не пишет. А почему??? |
А вот весь код:
$("#logo").hover(
function () {
alert(2);
},
function(){
alert(2);
}
);
<!DOCTYPE html>
<html lang="ru">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel="stylesheet" href="/css/style.css">
<script type="text/javascript" src="/js/jquery-1.10.1.min.js" charset="utf-8"></script>
<script type="text/javascript" src="/js/us.js" charset="utf-8"></script>
<title></title>
<style>
body{
margin: 0;
background-color: black;
}
#container{
margin: 0 auto;
height: 1382px;
min-width: 1024px;
max-width: 2000px;
background: url(../img/home.jpg) 50% 0 no-repeat;
}
#block{
width: 1024px;
height: 100%;
margin: 0 auto;
}
#head{
position: relative;
padding-top: 34px;
padding-left: 147px;
}
#logo{
width: 243px;
height: 136px;
background: url(../img/ab_logo_and_menu.jpg) no-repeat;
top: 34px;
left: 147px;
position: absolute;
height: 136px;
clip: rect(1px, 243px, 136px, 1px);
}
</style>
</head>
<body>
<div id="container">
<div id="block">
<div id="head">
<div id="logo"></div>
</div>
<div id="content"></div>
<div id="footer"></div>
</div>
</div>
</body>
</html>
|
niko42,
а есть ли $("#logo") на странице когда этот код начинает работать? может подождать
$(document).ready(function(){
$("#logo").hover(
function () {
alert(2);
},
function(){
alert(2);
}
);
});
|
Ну понятно что для начало нужно подождать, чтоб загрузиалась страница.
Немного усложним ситацию:
$(document).ready(
function(){
$("#logo").hover(
function () {
$(this).fadeOut();
},
function () {
$(this).fadeIn();
}
);
}
);
Навожу мышку в пределах области width: 200px; heigth: 300px; и перемещаю в этой области мышкой. Почему каждый раз, когда я перемещаю мышкой в заданной области не выходя за область событий, данное событие работает до тех пор как бы по циклу пока перемащяю мышку |
niko42,
откройте для себя .mouseenter() mouseleave() stop() и поиск по форуму |
Ясно, спасибо. Теперь вопрос в другом, как остановить анимацию ? И чтоб потом работало=))
$(document).ready(
function(){
$("#logo").mouseenter(
function (){
$(this).css({"background-color" : "aqua"}).fadeOut(1000);
setTimeout(function(){$("#logo").stop();}, 1000);
}
);
$("#logo").mouseleave(
function (){
$(this).css({"background-color" : "white"}).fadeIn(1000);
}
);
}
);
Что-то не катит(( |
$(document).ready(function(){
$("#logo").mouseenter(function (){
$(this).stop().css({"background-color" : "aqua"}).fadeOut(1000);
}).mouseleave(function (){
$(this).stop().css({"background-color" : "white"}).fadeIn(1000);
});
});
|
Цитата:
Суть такова, что при повторном наведение мышки на блок #logo событие mouseenter и mouseleave не срабатывает |
Понятное дело - лого скрыли - события увода курсора - не произойдёт
Нужно обрамлять в div c фиксацией размера
<script type="text/javascript" src="http://yandex.st/jquery/1.4.4/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$(".wrp").mouseenter(function (){
$("#logo").stop(true,true).css({"background-color" : "green"}).fadeOut(1000);
}).mouseleave(function(){
$("#logo").stop(true,true).css({"background-color" : ":blue"}).fadeIn(1000);
});
});
</script>
<div class=wrp style="height:67px;border:red solid 1px">
<div id="logo" style="padding:20px;background-color:blue;font:700 22px/normal Tahoma;">LOGO</div>
</div>
|
Ясно, спасибо.
Сделал чуть красивее и эффектнее=)
$('#logo').mouseenter(function(){$(this).stop().animate({'opacity':1}, 600);}).mouseleave(function(){$(this).stop().animate({opacity:0}, 600);}).css({opacity:0});
|
| Часовой пояс GMT +3, время: 06:25. |