Я немного борюсь с функцией show/hide jQuery.
Есть два jsfiddles, которые так близки к тому, что я хочу, но не могу понять окончательную часть.
http://jsfiddle.net/bwilkins/np8qD/ - заимствован из (NeaWm)
Это прекрасно, за исключением того, что я не могу использовать абсолютное позиционирование в своем макете. Мне нужно относительное позиционирование. Когда я это делаю, результат DIV отскакивает из-за проблем с контейнерами, которые я предполагаю. Какие-нибудь подсказки о том, как обойти это?
.animalcontent {
position:absolute;
top:100px;
}
p.animal {display:inline-block;padding-right:20px;}
Другой jsfiddle, который почти работает для меня, это:
Это идеальный вариант, за исключением того, что я действительно хотел бы, чтобы шоу/скрыть было перенесено, как fadein/fadeout.
Любое решение прекрасно, если я могу получить постепенное исчезновение без абсолютного позиционирования. Я ценю любую помощь.
Используйте что-то вроде этого:
$('#item-wrapper a').mouseenter(function () {
console.log($(this).data('panel'));
if ($(this).data('panel')) {
$('.panel').hide();
$('#' + $(this).data('panel')).fadeIn();
}
});
$('#item-wrapper').mouseleave(function () {
$('.panel').fadeOut();
});
Рабочая скрипка здесь: http://jsfiddle.net/robertrozas/YdPm5/47/
Что-то вроде этого? вы можете использовать fadeIn (время) и fadeOut (время)
[http://jsfiddle.net/YdPm5/46/][1]
[1]: http://jsfiddle.net/YdPm5/46/
Я просто изменил некоторые анимационные вызовы на fades, см. JsFiddle: http://jsfiddle.net/YdPm5/49/
$('#item-wrapper a').mouseenter(function () {
console.log($(this).data('panel'));
if ($(this).data('panel')) {
$('.panel').hide();
$('#' + $(this).data('panel')).fadeIn();
}
});
$('#item-wrapper').mouseleave(function () {
$('.panel').fadeOut();
});
fadeIn(1000)
иfadeOut(1000)
и это, кажется, прекрасно работает. Спасибо @RobertRozas