Я пытался воссоздать эффект из этого урока: http://jqueryfordesigners.com/jquery-look-tim-van-damme/
К сожалению, я хочу, чтобы фоновое изображение было внизу, и из-за изменения размера, происходящего в JavaScript, оно также изменяется и обрезается, например, так: http://dev.gentlecode.net/dotme/index-sample.html - вы можете просмотреть исходный код для проверки HTML, но базовая структура выглядит так:
<div class="page">
<div class="container">
div.header
ul.nav
div.main
</div>
</div>
Вот мой код jQuery:
$('ul.nav').each(function() {
var $links = $(this).find('a'),
panelIds = $links.map(function() { return this.hash; }).get().join(","),
$panels = $(panelIds),
$panelWrapper = $panels.filter(':first').parent(),
delay = 500;
$panels.hide();
$links.click(function() {
var $link = $(this),
link = (this);
if ($link.is('.current')) {
return;
}
$links.removeClass('current');
$link.addClass('current');
$panels.animate({ opacity : 0 }, delay);
$panelWrapper.animate({
height: 0
}, delay, function() {
var height = $panels.hide().filter(link.hash).show().css('opacity', 1).outerHeight();
$panelWrapper.animate({
height: height
}, delay);
});
});
var showtab = window.location.hash ? '[hash=' + window.location.hash + ']' : ':first';
$links.filter(showtab).click();
});
В этом примере panelWrapper
- это div.main
, и его размер изменяется в соответствии с содержимым вкладок. Фон применяется к div.page
, но, поскольку его дочерний элемент изменяется, он также изменяет размеры, обрезая фоновое изображение.
Это сложно объяснить, поэтому, пожалуйста, посмотрите на ссылку выше, чтобы понять, что я имею в виду.
Я думаю, что я пытаюсь спросить: есть ли способ изменить размер элемента без изменения размера его родителя? Я попытался установить height
и min-height
для .page
на 100% и 101%, но это не сработало. Я пытался исправить фоновое изображение, но нада. Это также происходит, если я добавляю фон к телу или даже HTML. Помощь