【问题标题】:jquery resize function not working the way I'd expectjquery resize 函数无法按我预期的方式工作
【发布时间】:2013-10-11 15:56:24
【问题描述】:

我有一个包含<img> 标签的容器元素。图片宽度为100%,高度为auto。容器上的溢出设置为hidden,它还有max-heightmin-height。这个想法是让图像在最大和最小断点内确定容器的高度。

因此,容器具有相对高度。为了实现流畅的过渡,我在resize 事件上重新设置了高度(出于复杂的原因,img 本身并没有设置高度,而是通过 javascript 计算然后更改)。这很好用,当我调整窗口大小时,一切正常。

但我也想在加载事件上运行调整大小事件中的一些逻辑。所以,我想我会在 load 中调用 resize,如下所示:

$(window).load(function(){
    $(window).resize();
});

但是,这不起作用。使用此代码,如果我手动调整窗口大小,即使只有一个像素,包含的元素也会正确缩放(它与加载时计算的高度与重置、正确缩放的高度之间存在 200px 的差异)。

显然,我对它的工作原理的理解是错误的。我之前已经像这样调用过其他事件来触发事件并触发其他事件。我怎样才能完成我想要的?

【问题讨论】:

标签: javascript jquery html css events


【解决方案1】:

仍然想知道通过重新调整窗口大小实际实现了什么,但触发resize 的另一种方法是:

$(window).load(function() {
    $(this).trigger('resize');
});

【讨论】:

    【解决方案2】:

    尝试 .ready 而不是 .load

    $(window).ready(function);
    

    这是jsfiddle

    【讨论】:

    【解决方案3】:

    我不知道问题是什么。我改变了方法,找到了一个不同的解决方案,不需要在load 上调用resize 事件。

    【讨论】:

      猜你喜欢
      • 2018-10-10
      • 1970-01-01
      • 2021-04-23
      • 1970-01-01
      • 2018-11-16
      • 1970-01-01
      • 1970-01-01
      • 2019-11-09
      • 1970-01-01
      相关资源
      最近更新 更多