2016-03-29 14 views
0

私はこのようになりますパラメータを持つcoffescript機能を作成しました:パラメータでcoffeescript関数を呼び出す方法は?

enlargeSelectionOn : (zoneSelected) -> 
    $(zoneSelected).stop().animate 
    width:450 
    height:510 
    1000 

部分はこのようになりますHTML:

#container1 
    .title1 
     img(src="img/team.png") 
     span.text First Title 
     a(href="#") 

と(スタイラス付き)CSSの一部は

#container1 
    width 398px 
    height 490px 
    float left 
    margin-right 11px 
    border 2px solid $color6 
    background-color $color5 
    border-bottom-right-radius: 50px; 
    box-shadow 4px 4px 8px #aaa 
    .title1 
    height 53px 
    width 100% 
    border-bottom 1px solid $color6 
    color white 
    background-color $color6 
のように見えます

私がそれをホバリングしたときにdivの次元をアニメーション化する関数を作成しました 私はホバーイベントでそれを呼び出すようにしたい:

'hover div#container1' : 'enlargeSelectionOn("container1")' 

しかし、それは動作しませんよ!私が何か間違ったことは、私が選択したdiv要素を呼び出すために、それは

しかし、この場合には、私は強制しています正常に動作します。この

'hover div#container' : 'enlargeSelectionOn' 

のようなパラメータなしでそれを呼び出す私のコード

であります知っています内部関数

enlargeSelectionOn :() -> 
    $('div#container1').stop().animate 
    width:450 
    height:510 
    1000 

私はdifferents divにこの関数を使用する予定ですので、パラメータを使用します。コンテナ。

+1

達成しようとしていることは何ですか?あなたの質問にはいくつかの文脈(HTML部分)がありません。 – cl3m

+0

私はちょうどホバーイベントで私の機能を呼びたい!それはパラメータ関数がなくても簡単かもしれませんが、パラメータがあります。正しい構文がわからない –

+0

'='を使って変数に代入します。 ':'はオブジェクトキーを割り当てるためだけに使うべきです。ここでは、 'enlargeSelectionOn'に関数を代入するのではなく、(無名の)オブジェクトを作っています。 – Carpetsmoker

答えて

3

私はあなたが関数を書いた方法が正しい構文だとは思わない。それは次のようになります。

enlargeSelectionOn = (zoneSelected) -> 
    $(zoneSelected).stop().animate 
    width:450 
    height:510 
    1000 

ホバーイベントでこの関数を呼び出すには、あなたのdivがオンに推移したときの機能enlargeSelectionOnを呼び出すためのjQueryをお伝えしたいと思います。

ホバー機能上の
$("div#container").hover(enlargeSelectionOn("container1")) 

詳細はin the jQuery docsを見つけることができます。これを行うには、次のコードを使用します。

+0

ご回答ありがとうございますが、私は関数を書いた方法は正しいですが、それはパラメータなしの他の関数や、関数を呼び出す方法でもパラメータ関数なしで正しく機能するためです。私はパラメータを使って関数を呼び出す正しい構文を知らない。 –

+0

@ L.Ezzあなたの関数は正しいかもしれないが、あなたは 'enlargeSelectionOn'にそれを代入していない。生成された出力を見てください。 – Carpetsmoker

+0

ああ、よろしくお願いします。 '' hover div#container ':パラメータを指定して関数を呼び出すための@L.Ezz:enlargeSelectionOn( "container1") 'これは、div#containerがホバリングされたときにenlargeSelectionOn関数を呼び出す必要があります。 – user2367593

関連する問題