Wiem, że jQuery ma pomocniczą metodę przetwarzania ciągów jednostek na liczby. Jaka jest metoda jQuery, aby to zrobić?
var a = "20px";
var b = 20;
var c = $.parseMethod(a) + b;
Wiem, że jQuery ma pomocniczą metodę przetwarzania ciągów jednostek na liczby. Jaka jest metoda jQuery, aby to zrobić?
var a = "20px";
var b = 20;
var c = $.parseMethod(a) + b;
Odpowiedzi:
Nie jest do tego wymagane jQuery, Plain Ol 'JS (tm) zrobi to,
parseInt(a, 10);
parseInt("20em", 10) === 20
i parseInt("20pt", 10) === 20
. Możesz wkleić dowolne wyrażenie do konsoli swojej ulubionej przeglądarki lub zobaczyć ten bardzo krótki przykład . Każdy problem, który masz, leży w innym miejscu twojego kodu.
parseInt
funkcja faktycznie zignoruje wszelkie znaki nie będące liczbami całkowitymi dołączane na końcu łańcucha znaków całkowitych. parseInt('234sdfsdf') == 234
$.parseMethod = function (s)
{
return Number(s.replace(/px$/, ''));
};
chociaż jak to się ma do jQuery, nie wiem
Przepraszamy za kopanie, ale:
var bar = "16px";
var foo = parseInt(bar, 10); // Doesn't work! Output is always 16px
// and
var foo = Number(s.replace(/px$/, '')); // No more!
$(document).ready(function(){<br>
$("#btnW1").click(function(){<br>
$("#d1").animate({<br>
width: "+=" + x,
});
});
Próbując zidentyfikować zmienną x wartością piksela I za pomocą jQuery, wstawiam + = w cudzysłów. Zamiast szerokości: „+ = x”, co nie działa, ponieważ uważa, że x jest łańcuchem, a nie liczbą. Mam nadzieję, że to pomoże.