2017-06-15 17 views
-2

我在我的腳本中有此功能,並且Internet Explorer會拋出一個錯誤: 「el objeto no acepta la propiedad o el metodo trunc」意思就像「對象不接受財產或方法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

添加polyfill爲Math.trunc()。使用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屬性。您可以將數學對象原型化爲自己包含它。 –

0

只需使用Math.floor代替或完全離開它扔掉:

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