2016-12-15 23 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。他們都在工作 –