Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Глюк при сложении 2 числовых переменных
 
 автор: Prihod   (13.08.2007 в 12:56)   письмо автору
 
 

var Top=document.all(obj).style.pixelTop; //150
var height=document.all(obj).style.height; //120
var sum=(Top+height);
в результате sum=150120; т.е получается что переменные Top и height
содержат строки а не числа почему так ?

   
 
 автор: parczynski   (13.08.2007 в 13:49)   письмо автору
 
   для: Prihod   (13.08.2007 в 12:56)
 

не уверен что правильно, по пямяти пишу, но вроде надо вот так:

var sum = eval(Top) + eval(height);

   
 
 автор: AlexSol   (13.08.2007 в 13:52)   письмо автору
 
   для: Prihod   (13.08.2007 в 12:56)
 

потому что стили это текст. в стилях цифр быть не может.

Number(Top)

а еще проверяйте чтоб px в конце не было.

   
 
 автор: CNT   (13.08.2007 в 18:10)   письмо автору
 
   для: Prihod   (13.08.2007 в 12:56)
 

1. старайтесь не назначать своим переменным имена, которые уже используются парсером браузера как объекты и свойства объектов (я про Top и height) - путаете браузер, да и запутаетесь сами в итоге.

2. самым простым (и самым быстрым по исполнению) в данном случае способом будет var sum = (Top * 1 + height * 1);

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования