Имам проблеми с 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