Javascript Jquery定时问题

Javascript Jquery定时问题,javascript,jquery,load-order,Javascript,Jquery,Load Order,现在我正在向div追加一个handlebar模板。我想在代码中使用它- test = $(".someClass:onScreen") 我知道在屏幕上工作是因为我在那个类上滑动鼠标时记录了同一行,它会返回屏幕上的内容。现在,发生这种情况是因为我在div中添加了一个slideUp()。我知道这一点,因为当我执行slideDown()时,该行将正确返回内容 我该怎么做?当slideUp完成时,有什么活动我可以听吗 编辑- 我也尝试过使用jqueryslideups回调,但仍然没有用- @$

现在我正在向div追加一个handlebar模板。我想在代码中使用它-

test = $(".someClass:onScreen")
我知道在屏幕上工作是因为我在那个类上滑动鼠标时记录了同一行,它会返回屏幕上的内容。现在,发生这种情况是因为我在div中添加了一个slideUp()。我知道这一点,因为当我执行slideDown()时,该行将正确返回内容

我该怎么做?当slideUp完成时,有什么活动我可以听吗

编辑-

我也尝试过使用jqueryslideups回调,但仍然没有用-

    @$el.find("#container").slideDown('fast',@appendSearchResults(resultsCollection))
    @$el.find("#container").empty()

  appendSearchResults:(resultsCollection)=>
    @$el.find("#searchContainerId").append(Handlebars.templates["resultsPage"](
      row: resultsCollection.toJSON()
      nResults: resultsCollection.length
      ))
    @genImageToolTip()
    console.log("testing ons creen")
    test = $(".carImageClass:onScreen")
    console.log(test)
jQuery
.slideUp()
有一个完成函数的参数,该函数将在动画完成时调用。这里的细节相当清楚

当传递回调时,它接受一个简单的函数引用,而不是函数调用。如果将函数调用放在那里(后面有使其执行的参数),那么该函数将立即执行,而不是稍后执行。你的代码看起来不像普通的javascript,所以我不能确切地建议它应该如何工作。正常的javascript回调如下所示:

$("#whatever").slideUp(2000, function() {
   // do whatever you want to do upon completion
});
$("#whatever").slideUp(2000, slideDone);

function slideDone() {
    // do whatever you want to do upon completion of the slideUp event
}
或者像这样:

$("#whatever").slideUp(2000, function() {
   // do whatever you want to do upon completion
});
$("#whatever").slideUp(2000, slideDone);

function slideDone() {
    // do whatever you want to do upon completion of the slideUp event
}
此外,jQuery没有内置的
:屏幕上的
选择器。有一个插件可以提供该选择器,前提是您已经安装了它,并且正在使用它


至于您的特定代码,我不知道CoffeeScript,但我将尝试用纯javascript向您展示一些相关示例

您可以这样做:

$el.find("#container").slideDown('fast', function() { 
    appendSearchResults(resultsCollection)
});

function appendSearchResults(resultsCollection) {
    // code here
}
您不能这样做:

$el.find("#container").slideDown('fast', appendSearchResults(resultsCollection));

function appendSearchResults(resultsCollection) {
    // code here
}

这不起作用,因为它会立即调用appendSearchResults,然后将返回结果从该函数传递给不是函数的slideUp。您需要向slideUp传递一个不带任何参数的函数引用。

很抱歉,我在键入question@praks5432-我根据你添加到问题中的新信息更新了我的答案。是的,我尝试了所有这些,我已经用了一段时间的延迟…但它是hacky@praks5432-问题中的当前代码错误。你没有像我在回答中所说的那样做,否则它会起作用的。如果正确地执行jQuery动画回调,则它们可以正常工作。为什么你忽视了正确的做法?@praks5432-不知道我能告诉你什么。你问了一个问题。我提供了一个答案。你显然选择忽略它。如果你不明白,问一些澄清问题。如果您认为它不能回答您的问题,请澄清原因。