0

小さな単純なjquery関数を作成しようとしていますが、この問題を解決する方法を理解できず、2つの変数を持つ単純な関数を作成する方法を読むための簡単なリソースをオンラインで見つけることができません. 私のコードは

jQuery(function ($) {
    function infoText(menuitem,textinfo) {
        menuitem.click(function(){
            textinfo.fadeIn(300);
        }
    }

    infoText('.come-realizzo','#come-realizzo');
    infoText('.works','#works');

});

関数を呼び出すと、次のエラーが発生します。

Uncaught SyntaxError: 9 行目に予期しない識別子があります ( infoText('.come-realizzo','#come-realizzo'); )。

ありがとう!

4

3 に答える 3

2

$(/*selector*/)文字列を渡しています。以下のように使用して、それらをjqueryオブジェクトに変換する必要があります

変化する

menuitem.click(function () {
  textinfo.fadeIn(300);
}

$(menuitem).click({
  $(textinfo).fadeIn(300);
});
 ^ missing to close the click function
于 2013-09-30T13:45:31.780 に答える
0

クリック ハンドラー関数の末尾に閉じ括弧がありません。

関数でjQueryオブジェクトを参照していないため、実際には機能しませんinfoText.2つの可能な解決策:

  • jQuery オブジェクトをパラメーターとして渡す
  • 渡された文字列から jQuery オブジェクトを取得します

初め:

jQuery(function ($) {
    function infoText($menuitem,$textinfo) {
        $menuitem.click(function(){
            $textinfo.fadeIn(300);
        });
    }

    infoText($('.come-realizzo'),$('#come-realizzo'));
    infoText($('.works'),$('#works'));

});

2番:

jQuery(function ($) {
    function infoText(menuitem,textinfo) {
        $(menuitem).click(function(){
            $(textinfo).fadeIn(300);
        });
    }

    infoText('.come-realizzo','#come-realizzo');
    infoText('.works','#works');

});
于 2013-09-30T13:54:45.717 に答える
0

識別子の代わりに文字列を渡しています。以下のコードを使用してください

infoText($('.come-realizzo'),$('#come-realizzo') );

または、セレクターの代わりにテキストを関数に渡したい場合は、この他のソリューション

  $( menuitem).click(function(){
  $( textinfo).fadeIn(300);
于 2013-09-30T13:46:54.270 に答える