/ / Как бих написал това в CoffeeScript? - jquery, руби-на-релси, coffeescript, waitforimages

Как да напиша това в CoffeeScript? - jquery, ruby-on-rail, coffeescript, waitforimages

Имам проблеми с CoffeeScript в първото ми приложение за Rails. Използвам waitForImages jQuery плъгин, който се записва в отделен файл waitforimages.jquery.js, Автоматично се създават релси home.js.coffee, в която бих искал да включа следния фрагмент jQuery:

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

Но как бих написал това с помощта на нотацията на CoffeeScript?

UPDATE

Сега нещата работят чудесно, така че мислех, че ще публикувам окончателния си код. Един от въпросите беше, че не зареждах 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>

Отговори:

8 за отговор № 1

употреба -> ... вместо function(){ ... }, По желание можете също да разменяте this с @.

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

Ако наистина искате да запазите символи, можете да пропуснете и последните две скоби и да получите:

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

3 за отговор № 2

Според много полезно http://js2coffee.org:

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

2 за отговор № 3
$("#fullbleed").waitForImages ->
$(@).fadeIn 3000

или дори:

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