【问题标题】:fadeToggle jQuery callback before, not afterfadeToggle jQuery 回调之前,而不是之后
【发布时间】:2011-07-04 09:05:59
【问题描述】:

有没有办法在fadeToggle 中发生淡入淡出动画之前分配回调?我正在调整滚动位置,想在对象出现之前调整它,而不是之后。

【问题讨论】:

  • 如果你知道对象的大小,那么在调用fadeToggle之前简单地调整滚动位置怎么样?
  • 我试过了,但我需要调整滚动条的原因是因为设置 display: none (据我所知,这发生在 fadeToggle 中)会导致滚动条在之后重置。如果你之前调整过,并且对象被隐藏了,当它出现时滚动位置不会被设置。

标签: jquery callback jquery-callback


【解决方案1】:

回调为您提供了一种在给定操作完成后执行某项操作的方法。如果您需要在操作(淡入淡出)之前执行某些操作,只需在调用函数本身之前执行此操作

【讨论】:

    【解决方案2】:

    fadeToggle 覆盖是否适合您?如果是这样,请点击下面的链接:)

    Override jQuery functions

    【讨论】:

      【解决方案3】:

      你需要做的就是在fadeToggle之后直接调用你的函数,或者运行任何代码:

      element.fadeToggle('fast');
      element.scrollTop(300);
      

      这将立即设置滚动位置,然后淡入淡出效果。

      这是我的特别之处:可见和隐藏是我刚刚命名为 vars 的元素。

      visible.fadeToggle('fast', function() {
          hidden.fadeToggle('fast');
          hidden.scrollTop(top_value);
      });
      

      当 visible 被隐藏时,回调被调用并且隐藏的元素变得可见。滚动位置是在之后立即设置的,因此您可以在淡入淡出完成之前看到更改。这样您就可以流畅地淡入淡出并保持两个元素的滚动位置相同。

      【讨论】:

        猜你喜欢
        • 2015-03-02
        • 1970-01-01
        • 2022-01-02
        • 2013-05-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-10-23
        • 2011-01-06
        相关资源
        最近更新 更多