Javascript jquery resize函数的工作方式与I';我希望
我有一个容器元素,其中有一个Javascript jquery resize函数的工作方式与I';我希望,javascript,jquery,html,css,events,Javascript,Jquery,Html,Css,Events,我有一个容器元素,其中有一个标记。图像的宽度为100%,高度为auto。容器上的溢出设置为隐藏,并且它还具有最大高度和最小高度。其思想是让图像在最大和最小断点内确定容器的高度 因此,容器具有相对高度。为了实现流畅的过渡,我在resize事件中重置了高度(出于复杂的原因,img本身并不设置高度,而是通过javascript计算并更改高度)。这很好,当我调整窗口大小时,一切正常 但是在resize事件中的一些逻辑我也想在load事件中运行。所以,我想我应该在load中调用resize,如下所示: $
标记。图像的宽度为100%,高度为auto
。容器上的溢出设置为隐藏
,并且它还具有最大高度
和最小高度
。其思想是让图像在最大和最小断点内确定容器的高度
因此,容器具有相对高度。为了实现流畅的过渡,我在resize
事件中重置了高度(出于复杂的原因,img
本身并不设置高度,而是通过javascript计算并更改高度)。这很好,当我调整窗口大小时,一切正常
但是在resize事件中的一些逻辑我也想在load事件中运行。所以,我想我应该在load中调用resize,如下所示:
$(window).load(function(){
$(window).resize();
});
但是,这不起作用。使用此代码,如果我手动调整窗口大小(即使只有一个像素),则包含的元素将正确缩放(从加载时计算的高度到重置、正确缩放的高度大约有200px
差)
显然,我对这一机制的理解是错误的。我以前调用过其他类似事件来触发事件并触发其他事件。我怎样才能实现我想要的 尝试.ready而不是.load
$(window).ready(function);
这里有一个仍然想知道通过重新调整窗口大小实际实现了什么,但是触发调整大小的另一种方法是:
$(window).load(function() {
$(this).trigger('resize');
});
我不知道是什么问题。我改变了我的方法,找到了一个不同的解决方案,它不需要在
load
上调用resize
事件,我认为在这种情况下这不是一个解决方案。因为load事件实际上是在ready事件之后触发的