gpt4 book ai didi

javascript - 使用 jQuery 设置高度会忽略初始加载时的内容,但在刷新后有效

转载 作者:行者123 更新时间:2023-11-27 23:42:10 25 4
gpt4 key购买 nike

我正在使用此代码在我的列上设置相同的高度:

$(document).ready(function(){


$('section').each(function(){

var highestBox = 0;
$('.slide', this).each(function(){

if($(this).height() > highestBox)
highestBox = $(this).height();
});

$('.slide',this).height(highestBox);

});
});

它使所有列的高度相等,但在初始加载时它忽略了列中有图像的事实。因此图像出现在列底部的一半内部/一半外部,和/或与其他内容重叠,从而显示不正确。但是,如果我刷新页面,代码会正确设置高度,并且图像会按应有的方式包含在列中。

我在 jsFiddle 中设置了确切的代码.您可能需要打开浏览器窗 Eloquent 能看到问题,因为我在其中为较小的屏幕设置了 Bootstrap 断点。

您应该会在初始加载时看到图像与列底部的其他内容重叠。如果您刷新页面,则显示会正确呈现,并且所有元素都包含在该列中。

关于为什么会发生这种情况的任何想法?

最佳答案

这是因为,$(document).ready() 不会等待图像完全加载。当您进行刷新时,它确实有效,因为图像可能已从浏览器缓存中获取。因此,最好的办法是在 .load() 中运行代码,而不是像下面这样在 .ready() 中运行代码:

$(window).on('load', function() {
$('section').each(function() {

var highestBox = 0;
$('.slide', this).each(function(){

if($(this).height() > highestBox)
highestBox = $(this).height();
});

$('.slide',this).height(highestBox);

});
});

关于javascript - 使用 jQuery 设置高度会忽略初始加载时的内容,但在刷新后有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31301916/

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