【问题标题】:Fading in a piece of a Template after it is "shown" using a reactiveVar (meteor.js)在使用 reactiveVar (meteor.js) “显示”后淡入模板的一部分
【发布时间】:2025-12-30 14:05:07
【问题描述】:

我有一个包含两部分模板的视图,一个表格,然后是一条感谢信息。我想在提交表单时淡入感谢消息。我该怎么做?:

<template name="inquiry">

{{#if showForm }} 

some form

{{else}} 

        <header class="thank-you fade">
            <h2 class="thank-you">Thank You!</h2>
        </header>

        {{/if}} 

css:

.fade {
  opacity: 1;
  transition: opacity 200ms ease;
}

我知道这行不通,因为谢谢你已经加载到 DOM 中了。

我该怎么做?

【问题讨论】:

    标签: jquery css meteor


    【解决方案1】:

    我目前更喜欢的解决方案是始终呈现消息,但在它不可见时添加一个类。这在您的代码中很容易,因为您无需加载单独的模板。

    <template name="inquiry">
    
    {{#if showForm }} 
    
    some form
    
    {{/if}} 
    
        <header class="thank-you show-faded {{#if showForm}}hide-faded{{/if}}">
          <h2 class="thank-you">Thank You!</h2>
        </header>
    

    CSS 将是:

    .hide-faded {
      opacity: 0;
      transform: scale(0);
    }
    .show-faded {
      opacity: 1;
      transition: opacity 200ms ease;
    }
    

    【讨论】:

    • 嗯,我没有看到渐变效果
    • 您包含的 CSS 仍应使用。你在使用引导程序吗?我不得不更改类名,因为与引导程序存在冲突。如果你改用“show-faded”和“hide-faded”之类的东西,那可能会奏效。