在 Coffeescript + Jquery 文件中延迟函数调用
Delay a Function Call within Coffeescript + Jquery File
我在 Rails 项目的 Ruby 中有一个 Coffeescript+Jquery 文件,我想为其添加延迟功能 我一直在试验 setTimeout,但我无法得到任何东西工作,这是代码...
products.coffee
$ ->
if $('.pagination').length && $('#products').length
$(window).scroll ->
url = $('.pagination .next_page').attr('href')
if url && $(window).scrollTop() > $(document).height() - $(window).height() - 50
$('.pagination').text("Loading more products...")
$.getScript(url)
$(window).scroll()
$.getScript(url) 行是我想要延迟调用 5 秒的内容,我尝试在该行之前放置一个 setTimeout 函数调用,我也尝试使用 setTimeout($.getScript( url), 5000) 但没有任何效果。因为这是 Coffeescript+Jquery 我在网上找不到太多关于这个的信息。
我相信 setTimeout 函数不会在 window 内延迟,而是在其他地方延迟。不太确定。
感谢任何帮助:)
I also tried using setTimeout($.getScript(url), 5000)
那是因为你没有正确使用 setTimeout。
签名是setTimeout(FUNCTION, TIME)
您需要在那里传递一个实际函数,但您传递的是$.getScript(url)
,这是调用函数的结果(不是函数本身)。
相反,您可以简单地将 getScript 调用包装在一个匿名函数中:
setTimeout ->
$.getScript(url)
, 5000
# or, one liner if you prefer
setTimeout (-> $.getScript(url)), 5000
我在 Rails 项目的 Ruby 中有一个 Coffeescript+Jquery 文件,我想为其添加延迟功能 我一直在试验 setTimeout,但我无法得到任何东西工作,这是代码...
products.coffee
$ ->
if $('.pagination').length && $('#products').length
$(window).scroll ->
url = $('.pagination .next_page').attr('href')
if url && $(window).scrollTop() > $(document).height() - $(window).height() - 50
$('.pagination').text("Loading more products...")
$.getScript(url)
$(window).scroll()
$.getScript(url) 行是我想要延迟调用 5 秒的内容,我尝试在该行之前放置一个 setTimeout 函数调用,我也尝试使用 setTimeout($.getScript( url), 5000) 但没有任何效果。因为这是 Coffeescript+Jquery 我在网上找不到太多关于这个的信息。
我相信 setTimeout 函数不会在 window 内延迟,而是在其他地方延迟。不太确定。
感谢任何帮助:)
I also tried using setTimeout($.getScript(url), 5000)
那是因为你没有正确使用 setTimeout。
签名是setTimeout(FUNCTION, TIME)
您需要在那里传递一个实际函数,但您传递的是$.getScript(url)
,这是调用函数的结果(不是函数本身)。
相反,您可以简单地将 getScript 调用包装在一个匿名函数中:
setTimeout ->
$.getScript(url)
, 5000
# or, one liner if you prefer
setTimeout (-> $.getScript(url)), 5000