2017-06-15 16 views
-2

私のスクリプトにこの機能があり、Internet Explorerがエラーをスローします: "オブジェクトは受け入れられませんプロパティまたはメソッドtrunc "オブジェクトがプロパティまたはメソッドを受け付けません

function minutesToString(a){ 
    var hours = Math.trunc(a/60); 
    var minutes = a % 60; 
    return(hours +" hr "+ minutes + " m"); 
} 

クロム、ファイアフォックスなどは完全に機能します。

+2

はい。これは[MDNで文書化されています](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Math/trunc)です。あなたは質問がありましたか?それとも、あまりにも難解な冒涜を暴言して投稿するためにここにいたのですか? – Quentin

+0

IEはMath.trunc()をサポートしていません – Ju66ernaut

+0

@Quentin質問は明らかです。とにかく情報をありがとう –

答えて

6

Math.trunc()のpolyfillを追加します。これはMDNで、あなたがここにJSの機能を調べることができますMath.trunc()

Math.trunc = Math.trunc || function(x) { 
    if (isNaN(x)) { 
    return NaN; 
    } 
    if (x > 0) { 
    return Math.floor(x); 
    } 
    return Math.ceil(x); 
}; 
+0

これは、ここで役立つはずの問題を解決するためのものですが、問題はIEです。 Mathオブジェクトのtruncプロパティはサポートされていません。 Math Objectをプロトタイプ化して、それを自分で組み込むことができます。 –

0

単に代わりにMath.floorを使用するか、それを完全に離れ去る:

function minutesToString(a){ 
var minutes = a % 60; 
var hours=(a-minutes)/60; 
return(hours +" hr "+ minutes + " m"); 
} 
関連する問題