gpt4 book ai didi

javascript - jQuery:调整元素大小会切断父背景

转载 作者:行者123 更新时间:2023-11-28 19:07:26 25 4
gpt4 key购买 nike

我一直在尝试重新创建本教程的效果: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,但由于其子级正在调整大小,因此它也会调整大小,从而切断背景图像。

这很难解释,所以请查看上面的链接以了解我的意思。

我想我想问的是:有没有一种方法可以在不调整其父元素大小的情况下调整元素大小?我尝试将 .pageheightmin-height 设置为 100% 和 101%,但这没有用。我试着固定背景图片,但没用。如果我将背景添加到正文甚至 html,也会发生这种情况。帮忙?

最佳答案

另一种解决方案可能是使用 jquery 在 .page 元素上设置最小高度。高度必须以像素为单位设置,而不是百分比。我已经测试了以下并且它有效:

$('.page').css('min-height',$('body').height()+'px');

但是每当调整浏览器窗口大小时,您都需要运行它。

对于完全非 JavaScript 的解决方案,您可以将气泡放在内容后面绝对定位的 div 中。使用以下 CSS 使 div 充满屏幕:

position:absolute;
left:0px;
right:0px;
top:0px;
bottom:0px;
z-index:1;

你必须通过给它一个更高的 z-index 来确保它不会位于你的页面内容之上(为了 z-index 采取效果你需要在页面内容上设置position:relativeposition:absolute)

关于javascript - jQuery:调整元素大小会切断父背景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2661583/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com