2017-09-28 44 views
0

こんにちは、私のコードに少し問題があります。確かに、私はdivHeight +マージンを数える関数を書いていました。それは私がこの関数の引数が定義されていません

alert(mathMargin(flatbox-title)); 

のような通話機能を試してみましたが、動作しません。この

function mathMargin(divClass) { 
    divClass = "'."+divClass+"'"; 
    divHeight = $(divClass).outerHeight(true); 
    margin = divHeight * 0.3; 
    result = divHeight + margin; 
    return result; 
} 

のように見える、コンソールに戻り「flatboxは」定義されていません。どうしましたか?

+2

'" 'の内部引用符は必要ありません。 "+ divClass +"' "'。 – Tushar

答えて

3

パラメータをstringとして渡す必要があります。

alert(mathMargin('flatbox-title')); 

あなたは通訳を書いている時点では、数学減算の結果としてパラメータを見ています。 (フラットボックス - タイトル)。

また、関数の最初の行にはinner quotesは必要ありません。これを代わりに使用してください:

divClass = '.' + divClass; 
+0

おかげで、あなたが最初だった - それは私が10分後にあなたの質問を受け入れる作品です – sauero

+0

@サウロ、あなたは大歓迎です。 –

1

flatbox-titleは変数ではありません。引用符で囲む必要があります。

alert(mathMargin('flatbox-title')); 
0

間違い

  • divClass = " ' "+ divClass +"'"。これは単一引用符の 文字列を作成します。コンソールで自分自身をチェックしてください。
  • 呼び出し機能を使用すると、 はアレクサンドル・lonutミハイとManav回答する代わりに

function mathMargin(divClass) { 
 
    divClass = "."+divClass; 
 
    divHeight = $(divClass).outerHeight(true); 
 
    margin = divHeight * 0.3; 
 
    result = divHeight + margin; 
 
    return result; 
 
} 
 
alert(mathMargin('flatbox-title'));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 

 
<div class="flatbox-title">fa 
 
faww 
 
fwafaw 
 
fawfa 
 
w</div>

+0

@sauero .. check snippet – krishnar

1

を送信しているパラメータに二重引用符を入れて、あなたはまた、要素を渡すことができながら:

function mathMargin(div) { 
    divHeight = div.outerHeight(true); 
    margin = divHeight * 0.3; 
    result = divHeight + margin; 
    return result; 
} 

alert(mathMargin($('.flatbox-title))); 
0

インタープリタ処理flatbox-title変数として、文字列('flatbox-title')ではなく、宣言されたそのような変数がないので、例外をスローします。

もう一方で、単純なコードを複雑にするのはなぜですか?それはそれとしての書き換えを考えてみましょう:

function mathMargin(divClass) { 
    var divHeight = $("."+divClass).outerHeight(true); 
    return divHeight * 1.3; 
} 

あなたは、変数の前にvarキーワードを忘れてしまったことに、注意してください。それが意図的であったかどうかはわかりませんが、一般的にはグローバル変数が作成されるので、これを避けるべきです。これは、後でいくつかの厄介なバグを引き起こす可能性があります。

関連する問題