【问题标题】:How would I write this in CoffeeScript?我将如何在 CoffeeScript 中编写它?
【发布时间】:2013-01-24 06:46:38
【问题描述】:

我在第一个 Rails 应用程序中遇到了 CoffeeScript 问题。我正在使用waitForImages jQuery 插件,它保存在一个名为waitforimages.jquery.js 的单独文件中。 Rails 自动创建了home.js.coffee,我想在其中包含以下 jQuery sn-p:

$('#fullbleed').waitForImages(function() {
    $(this).fadeIn(3000);
});

但是我该如何使用 CoffeeScript 表示法来写呢?

更新

现在一切都很好,所以我想我会发布我的最终代码。其中一个问题是我没有加载waitForImages 插件之前 home.js.coffee。

CoffeeScript:

$(document).ready -> $('#fullbleed').waitForImages -> $(@).fadeIn 3000

HTML:

<!DOCTYPE html>
<html>
<head>
  <title>Title</title>
  <script src="/assets/jquery.js?body=1" type="text/javascript"></script>
  <script src="/assets/jquery_ujs.js?body=1" type="text/javascript"></script>
  <script src="/assets/jquery.waitforimages.js?body=1" type="text/javascript"></script>
  <script src="/assets/home.js?body=1" type="text/javascript"></script>
</head>
<body>
...
</body>
</html>

【问题讨论】:

  • 回答任何“我将如何在 CoffeeScript 中编写这个?”问题,我会推荐 js2coffee.org。
  • 这是一个很酷的资源。谢谢!

标签: jquery ruby-on-rails coffeescript waitforimages


【解决方案1】:

使用-&gt; ... 而不是function(){ ... }。或者,您也可以将this@ 交换。

$('#fullbleed').waitForImages ->
    $(@).fadeIn(3000)

如果你真的很喜欢保存字符,那么你也可以省略最后两个括号,得到:

$('#fullbleed').waitForImages -> $(@).fadeIn 3000

【讨论】:

  • 哇,太紧凑了。但是,我收到“未定义”错误。它似乎无法识别 waitForImages 函数(即使它已正确链接)。
  • @David 您是否正确加载了您的waitForImages jQuery 插件?请记住,您必须在 jQuery 本身之后加载 jQuery 插件。
  • @David 您能否更新问题并展示问题所在的演示?这是一个显示代码有效的基本示例:jsfiddle.net/B47LG
  • 是的,如果我将waitForImages 函数放在同一个文件中,则没有问题。我想我的问题实际上是关于如何使用来自不同文件的函数......
  • @David 代码的位置无关紧要。重要的是加载顺序类似于jquery.js > jquery.waitForImages.js > code-from-answer.js。您是否有指向您的应用程序源代码的链接?
【解决方案2】:

根据很有用的http://js2coffee.org

$("#fullbleed").waitForImages ->
  $(this).fadeIn 3000

【讨论】:

    【解决方案3】:
    $('#fullbleed').waitForImages ->
      $(@).fadeIn 3000
    

    甚至:

    $('#fullbleed').waitForImages ->$(@).fadeIn 3000
    

    【讨论】:

      猜你喜欢
      • 2011-09-06
      • 1970-01-01
      • 1970-01-01
      • 2012-11-18
      • 2011-05-11
      • 2011-11-02
      • 1970-01-01
      • 1970-01-01
      • 2015-08-22
      相关资源
      最近更新 更多