2016-12-15 60 views
0

我在JavaScript中的下列代码工作Rails的Materializecss,是没有定义的CoffeeScript功能

function displayButton() { 
var options = [ 
    { 
    selector: '#news', 
    offset: 20, 
    callback: function(el) { 
    $('#more-video-btn').hide(); 
    $('#more-news-btn').show(); 
    } 
    }, 
    { 
    selector: '#video', 
    offset: 20, 
    callback: function(el) { 
    $('#more-news-btn').hide(); 
    $('#more-video-btn').show(); 
    } 
    } 
]; 

Materialize.scrollFire(options); 
} 

,并尝试在转换为CoffeeScript中

我所做的是

displayButton =() -> 
    options = [ 
    selector: '#news' 
    offset: 20 
    callback: (el)-> 
     $('#more-video-btn').hide() 
     $('#more-news-btn').show() 
    , 
    selector: '#video' 
    offset: 20 
    callback: (el)-> 
     $('#more-news-btn').hide() 
     $('#more-video-btn').show() 
    ] 

    Materialize.scrollFire(options) 

当我从视图调用displayButton时

<script type="text/javascript"> 
    $(window).scroll(function(e) { 
    displayButton(); 
    }); 
</script> 

我得到'displayButton未定义'。

这是我第一次尝试在CoffeeScript中编写某些东西,我不知道为什么displayButton没有定义。

请帮帮我

回答

1

这一切对我来说都很好。我看到的唯一可能是问题的是范围。也许试试window.displayButton = ->@displayButton = ->。这样他们应该在那里。

接下来的问题是您安装了哪些宝石(需要咖啡栏)以及咖啡文件的位置。

+0

谢谢@TMP。他们都在工作 –