【问题标题】:jQuery callback for element size change?元素大小更改的jQuery回调?
【发布时间】:2018-12-04 21:36:36
【问题描述】:

有没有办法在屏幕调整元素大小后使用回调函数?

例如:

element.css('height', 'auto', function() {
   element.css('height', element.height() - 6);
});

换句话说:当元素重置为默认高度时。 DOM 需要重新评估元素的高度。这需要一些时间,但时间因客户而异。因此,我不想使用 setTimeOut 函数并比需要的速度减慢脚本的速度。

那么我怎样才能在元素的高度被重置后执行一些 JavaScript 呢?

PS:我已经尝试过 jQuery animate 功能。但是这个回调函数似乎并没有等待足够长的时间让元素真正获得它的原始高度。

【问题讨论】:

  • Resize on div element的可能重复
  • 因为容器中有定义高度的文本。该容器的背景具有需要校正 -6 像素的垂直重复背景。但是容器的总​​高度取决于内容。
  • 不,其他帖子不能解决这个问题!!!一群仇敌。如果没有即时投票,就无法再在此网络上发帖。
  • 反对者请给出理由,不要让某人失去动力。
  • @Zenoo 提供的链接有解决方案,但在 jQuery 中。你想要 jQuery 还是 JavaScript 的解决方案?

标签: javascript jquery dom


【解决方案1】:

即使是艰难的 cmets 也没有任何帮助。我发现了一些似乎确实有效的东西。它等待高度变化处理并立即处理下一条规则。

element.css('height', 'auto').delay(1).css('height', element.height() - 6);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-10-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-03
    • 2020-10-10
    • 2015-02-08
    • 1970-01-01
    相关资源
    最近更新 更多