Не работает hover() после добавление элемента в DOM
Вставляю ссылку с помощью prepend(), после чего с этой ссылкой не могу ничего сделать! Помогите пожалуйста.
$(function(){
$('body').prepend('<a href="" class="link">Главная</a>');
})
$(function(){
$('.link').hover(function(){
$(this).stop().animate({opacity:'1'},'slow');
},function(){
$(this).stop().animate({opacity:'1'},'slow');
});
});
|
$(function(){
$('body').prepend('<a
href="" class="link">Главная</a>');
$('.link').hover(function()
{$(this).stop().animate
({opacity:'0'},'slow');
});
})
|
$(function(){
$('body').prepend('<a href="" class="link">Главная</a>');
$('.link').live('hover', function() {
$(this).stop().animate({opacity:'1'},'slow');
},function(){
$(this).stop().animate({opacity:'1'},'slow');
});
});
|
Deff,
Я понял ,а альтернативы нет этому методу, он не очень подходит? Мне нужно чтобы элементу сразу opacity:'0.4', а не когда на него наводишь, как это сделать ? |
Цитата:
Или запустите в тексте страницы, позже самого элемента скрипт, устанавливающий данный атрибут |
Deff,
та дело в том, что не все браузеры могут воспринимать opacity - css. и поэтому хотелось бы jquery... |
Цитата:
div {
opacity: 0.4; /* все браузеры кроме ИЕ ниже девятой */
filter: Alpha(opacity=40); /* для ИЕ ниже девятой */
}
или
div {
opacity: 0.4; /* все браузеры кроме ИЕ ниже девятой */
filter: progid:DXImageTransform.Microsoft.BasicImage(opacity=0.4); /* для ИЕ ниже девятой */
}
|
devote,
Спасибо ))) Если кто может знает как на jQuery , то напишите плз |
<html>
<body>
<head>
<script type="text/javascript" src="http://yandex.st/jquery/1.4.4/jquery.min.js"></script>
</head>
<script type="text/javascript" >
$(function(){
$('body').append('<a href="" class="link">Главная</a>');
$('a.link').css({"opacity":"0.4"})
$('a.link').hover(function() {
$(this).stop().animate({opacity:1.0},800);
},function(){
$(this).stop().animate({opacity:0.4},800);
});
});
</script>
</body>
</html>
|
Deff,
Спасибо) а если так то не работает... Не пойму почему?
$(function(){
$('.go').click(function(){
$('body').append('<a href="" class="link">Главная</a>');
return false;
});
$('a.link').css({"opacity":"0.4"});
$('a.link').hover(function(){
$(this).stop().animate({opacity:1.0},800);
},function(){
$(this).stop().animate({opacity:0.4},800);
});
});
|
jeysmook,
Суть в том что обработчик нужно ставить либо а) При наличии элемента на странице (click b) Либо вариантами live bind и one (Последнии два, нун ставить после .append элемент http://jquery-docs.ru/Events/live/#typefn |
Deff,
Понятно, спасибо за объяснения ) |
Цитата:
Можно попробовать так, если внедрение элемента единственное,(если нет - нун ставить обработчик через .live
function Hover(){
$('a.link').css({"opacity":"0.4"});
$('a.link').hover(function(){
$(this).stop().animate({opacity:1.0},800);
},function(){
$(this).stop().animate({opacity:0.4},800);
});
}
var FirstClick=true;
$('.go').click(function(){
$('body').append('<a href="" class="link">Главная</a>');
if(FirstClick){FirstClick=false;Hover()} //Ставим Обработчик
return false;
});
});
|
Ксать эффект полностью реализуется в css, -Стоит ли мучать скрипты ?
|
Deff,
Так эффект замедленный ) а я так подошел к решению вопроса, нормально будет или нет ?
$(function(){
$('.go').click(function(){
$('body').after('<a href="" class="link">Главная</a>');
return false;
});
$('body').live('mousemove', function(){
$('a.link').animate({opacity:'0.4'},0);
$('a.link').hover(function(){
$(this).stop().animate({opacity:1.0},800);
},function(){
$(this).stop().animate({opacity:0.4},800);
});
});
});
|
<style>
a.link{
opacity: 1.0; /* все браузеры кроме ИЕ ниже девятой */
filter: Alpha(opacity=100); /* для ИЕ ниже девятой */
transition-duration: 0.69s;
-webkit-transition-duration: 0.69s;
-moz-transition-duration: 0.69s;
-o-transition-duration: 0.69s;
-ms-transition-duration: 0.69s; /* IE9+ */
}
a.link:hover {
opacity: 0.4; /* все браузеры кроме ИЕ ниже девятой */
filter: Alpha(opacity=40); /* для ИЕ ниже девятой */
}
</style>
<a href="" class="link">Главная</a>
|
Deff,
Прикольно, не знал что с ccs так можно , спасибо) |
чуть поправил css (убрал лишние атрибуты
|
| Часовой пояс GMT +3, время: 15:02. |