Javascript Jquery定时问题
现在我正在向div追加一个handlebar模板。我想在代码中使用它-Javascript Jquery定时问题,javascript,jquery,load-order,Javascript,Jquery,Load Order,现在我正在向div追加一个handlebar模板。我想在代码中使用它- test = $(".someClass:onScreen") 我知道在屏幕上工作是因为我在那个类上滑动鼠标时记录了同一行,它会返回屏幕上的内容。现在,发生这种情况是因为我在div中添加了一个slideUp()。我知道这一点,因为当我执行slideDown()时,该行将正确返回内容 我该怎么做?当slideUp完成时,有什么活动我可以听吗 编辑- 我也尝试过使用jqueryslideups回调,但仍然没有用- @$
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-不知道我能告诉你什么。你问了一个问题。我提供了一个答案。你显然选择忽略它。如果你不明白,问一些澄清问题。如果您认为它不能回答您的问题,请澄清原因。