すべての計算が最も近い整数に丸められるように、カスタム jQuery メソッドなどを追加する方法があったかどうか疑問に思っていますか? たとえば、幅などを計算するため。
ありがとう!
すべての計算が最も近い整数に丸められるように、カスタム jQuery メソッドなどを追加する方法があったかどうか疑問に思っていますか? たとえば、幅などを計算するため。
ありがとう!
いいえ、それは不可能でしょう。
最も近いのは、 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.