ParseInt не принимает отрицательные зна

12
M9
На сайте с 25.10.2011
Offline
25
814

Сделал ParseInt, значению элементов, необходимо было условие, мол если число меньше 0, то покрась мне буквы в красный цвет.

Проблема в том, что скрипт не видит отрицательных чисел, даже числа с минусом он принимает за положительные.

Условие простое


var my_num = parseInt($('.sort-procent').text());
if(my_num < 0) {
console.log(typeof(my_num));
$(this).find('.find_block_info_procent').addClass('negative');
}

Что делать, пока не знаю.

J
На сайте с 21.08.2011
Offline
78
#1

metaller92

Во-первых, всегда указывайте, в каком формате у вас числа (десятичные), а то, в какой-то момент, это может привести к серьёзному конфузу:

parseInt($('.sort-procent').text(), 10);

Во-вторых, убедитесь, что у вас в '.sort-procent' стоит правильный знак минуса, а не какой-нибудь ndash. Также не должно быть каких-либо других символов перед числом, которое парсится.

M9
На сайте с 25.10.2011
Offline
25
#2
Jovian:
metaller92

Во-первых, всегда указывайте, в каком формате у вас числа (десятеричные), а то, в какой-то момент, это может привести к серьёзному конфузу:
parseInt($('.sort-procent').text(), 10);

Во-вторых, убедитесь, что у вас в '.sort-procent' стоит правильный знак минуса, а не какой-нибудь ndash. Также не должно быть каких-либо других символов перед числом, которое парсится.

А если у меня и десятеричные и единичные а еще может бы 100%?

J
На сайте с 21.08.2011
Offline
78
#3
metaller92:
А если у меня и десятеричные и единичные а еще может бы 100%?

Это всё -- десятеричное поправка -- десятичное. ;)

Знаете ведь отличие от, к примеру, бинарного представления?

Вообще, почитайте: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/parseInt

M9
На сайте с 25.10.2011
Offline
25
#4
Jovian:
Это всё -- десятеричное поправка -- десятичное. ;)
Знаете ведь отличие от, к примеру, бинарного представления?
Вообще, почитайте: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/parseInt

Вы знаете, я поставил условие больше 20ти, и все равно оно не правильно выполнялось. Возможно дело не в отрицательных и положительных числах.

J
На сайте с 21.08.2011
Offline
78
#5

metaller92, что за "больше 20"?

Покажите ваш код, а лучше -- сам сайт. Проще будет разобраться.

M9
На сайте с 25.10.2011
Offline
25
#6
Jovian:
metaller92, что за "больше 20"?

Покажите ваш код, а лучше -- сам сайт. Проще будет разобраться.

Может в скайпе спишемся? Так думаю будет удобней, да и хочется иметь товарища по интересам что-ли :)

Если согласитесь мой скайп metallist132

J
На сайте с 21.08.2011
Offline
78
#7
metaller92:
Может в скайпе спишемся? Так думаю будет удобней, да и хочется иметь товарища по интересам что-ли
Если согласитесь мой скайп metallist132

Я не пользуюсь скайпами и прочим, а также терпеть не могу всякие твитеры-шмитеры. Асоциальный, в общем. ;)

Но помочь, если смогу и не лениво -- могу. :)

Так что давайте сюда весь код.

M9
На сайте с 25.10.2011
Offline
25
#8
Jovian:
Я не пользуюсь скайпами и прочим, а также терпеть не могу всякие твитеры-шмитеры. Асоциальный, в общем. ;)
Но помочь, если смогу и не лениво -- могу. :)

Так что давайте сюда весь код.

хорошо, в общем есть сайт - http://devserver.ti.dn.ua/~dmitry_piscshalka/fly/transport_app/transport_app/static/

Чтобы добраться до нужного нам момента, нужно кликнуть на ссылки Москва - Калининград, и после этого нажать на кнопку "найти".

Там вывалиться выдача, блочная сначала, мне нужно покрасить отрицательные значения у Выгода:5%

Открыв source в отладчике хромовском, можно будет найти файл js/scripts.js

На 51й строке будет комментарий - //красим отрицательные проценты в красный цвет

Сразу под ним код.

J
На сайте с 21.08.2011
Offline
78
#9

metaller92,

var find_block_info_benefit = parseInt($('.sort-procent').text());

А чего это со всех блоков парсится? :)

Надо парсить $(this).find('.sort-prcent').text()

И если часто юзаете $(this) в функции, то лучше его загнать в переменную: var this = $(this)

п.с.: и ещё раз, указывайте формат - parseInt($('.sort-procent').text(), 10)

п.п.с.: неплохой дизайн сайта. ;) вот только структура ХТМЛ чересчур облагорожена кучей тегов и классов. ;)

M9
На сайте с 25.10.2011
Offline
25
#10
Jovian:
metaller92,



А чего это со всех блоков парсится? :)
Надо парсить $(this).find('.sort-prcent').text()

И если часто юзаете $(this) в функции, то лучше его загнать в переменную: var this = $(this)

п.с.: и ещё раз, указывайте формат - parseInt($('.sort-procent').text(), 10)

п.п.с.: неплохой дизайн сайта. ;) вот только структура ХТМЛ чересчур облагорожена кучей тегов и классов. ;)

Структура как вы видите громоздкая, на одной странице куча всяких плюшек напихано. Завтра в офисе попробую, спасибо!

А зачем в ф-ции $(this) в переменную совать? Для красоты или удобства?)

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий