0

すべての計算が最も近い整数に丸められるように、カスタム jQuery メソッドなどを追加する方法があったかどうか疑問に思っていますか? たとえば、幅などを計算するため。

ありがとう!

4

3 に答える 3

2

いいえ、それは不可能でしょう。

最も近いのは、 jQueryメソッドで計算が実行される方法を変更することです。

言語自体が算術演算を実行する方法を変更することはできません。

演算子は JavaScript 言語でオーバーライドできません。

.widthたとえば、jQuery をオーバーライドする方法を次に示します(これはプロダクション コードでは推奨されません!)。

$.fn.oldwidth = $.fn.width;
$.fn.width = function (elem) {
    if(elem == null){ // no param, getter
        return $.fn.oldwidth.call(this);
    }
    if (typeof elem === "string") { // 12px for example
        var numPart = parseInt(elem); //get just the 12
        var unitPart = elem.match(/[a-zA-Z]/g).join(""); //get the number part
        return $.fn.oldwidth.call(this,Math.floor(numPart) + unitPart);
        }
        return $.fn.oldwidth.call(this,Math.floor(elem));
    }

ワーキングデモ

これは次のようになります。

$("#some").width("5.6em");
alert($("#some").width()); // Alerts 80 with the above code, 90 without.
于 2013-05-24T12:50:36.347 に答える