我该如何在CoffeeScript中写这篇文章



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

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

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

更新

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

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>

使用-> ...而不是function(){ ... }。也可以选择将this@交换。

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

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

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

根据非常有用的http://js2coffee.org:

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

甚至:

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

相关内容

  • 没有找到相关文章

最新更新