【问题标题】:Meteor 0.5.9 - Deps.Autorun fadein not workingMeteor 0.5.9 - Deps.Autorun 淡入淡出不工作
【发布时间】:2013-05-02 11:03:03
【问题描述】:

我有以下代码:

Template.jobFlash.helpers({
    latest_job: function(){
        if(Session.get("latestJob")!=""){

            return JobsCollection.findOne({}, {sort: {'added_date': -1}});
        }
    }
});
Deps.autorun(function(){

    var job = JobsCollection.findOne({}, {sort: {'added_date': -1}});
    sortArr = [];
    sortArr['_id'] = "asc";
    var oldJob = Session.get("latestJob");

    if(job && oldJob !== job._id){
        Session.set("latestJob", job._id);
            $("#jobHolder").fadeIn(750).delay(10000).fadeOut(750);
    }
});

然后:

<template name="main">
    {{#isolate}}
        {{> otherStuff}}
    {{/isolate}}
    {{#isolate}}
        {{> jobHolder}}
    {{/isolate}}
</template>


<template name="jobHolder">
    <div id="jobHolder" style="width:100%; position:absolute; top:0; left:0; height:100%; background:#FFF; display:none;">
    {{#with latest_job}}
    {{#isolate}}
    <div>
        <h1>{{job_title}} - ({{job_type}})</h1>
        <h2>{{job_company}}<br/>
            &pound;{{job_pay}}<br/>
            {{job_short_location}}</h2>
        <div id="map-holder"></div>
    </div>
    {{/isolate}}
    {{/with}}
    </div>
</template>

当 JobCollection 用新行更新时,应该调用 fadeIn - 当页面第一次加载并触发自动运行时,整个代码块工作正常。然而,在那之后,如果 JobsCollection 被更新,该函数被调用,我可以看到 javascript 正在执行,但是 fadeIn 根本不起作用。为什么是这样?好像自动运行正在失去作用域?

【问题讨论】:

  • 那是确切的 jobHolder 模板吗?还是真实的也依赖于一些反应性 val?
  • @Xyand 它确实有一些反应性 val,这是一个很好的观点 - 如果我取出所说的反应性 val,它工作正常。是因为反应 vals 导致父 div 被重新插入?我应该将反应 val 包装在另一个 div 中的 {{#isolate}} 中吗?
  • @Xyand 我已经更新了问题以显示我的代码 - 我的建议不起作用。如果我之后直接调用$("#jobHolder").fadeIn(750).delay(10000).fadeOut(750);,但在自动运行之外(在控制台内),淡入淡出工作正常。
  • 我也尝试过将函数调用放在Template.jobFlash.rendered 内,但无济于事

标签: javascript jquery node.js meteor


【解决方案1】:

我也有类似的问题。请尝试以下操作:

  1. Template.jobHolder.preserve(["#jobHolder"]);

  2. 运行Meteor.defer中的动画代码

【讨论】:

    猜你喜欢
    • 2013-12-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多