Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.08.2015, 21:55   #1
serauto79
Заблокирован
 
Регистрация: 02.04.2015
Сообщений: 29
По умолчанию Как значение переменной передать другой переменной? - jQuery

Добрый день! подскажите мне с ява-кодом,
код моего ява скрипта на жейкверти


Код:
//отображает расстояние по прямой по воздуху
function polyline(gl_start,gl_end){
//
if(line !== undefined) {
line.setMap(null);
} else {

}
line = new google.maps.Polyline({
map: map, 
path: [gl_start, gl_end],
strokeWeight: 2,
strokeOpacity: 0.8,
strokeColor: "#fb342f"
});
var R = 6371;
var dLat = toRad(gl_end.lat()-gl_start.lat());
var dLon = toRad(gl_end.lng()-gl_start.lng());
var dLat1 = toRad(gl_start.lat());
var dLat2 = toRad(gl_end.lat());
var a = Math.sin(dLat/2) * Math.sin(dLat/2) +
Math.cos(dLat1) * Math.cos(dLat1) *
Math.sin(dLon/2) * Math.sin(dLon/2);
var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a));
var d = R * c;
d = d.toFixed(2);
document.getElementById("lineDistance").innerHTML= (d);
function toRad(deg) 
{
return deg * Math.PI/180;
}
}
результат работы исправно выводит на сайте вот таким кодом в хтмл
<span id="lineDistance"></span>


теперь мне нужно дополнить скрипт, нужно взять результат переменной

lineDistance

передать его другой переменной

linemilles

и сделать математическое действие

я делаю так

Код:
//пересчет расстояния с км в мили
var linemilles= lineDistance;
linemilles= Math.round(linemilles*1)/1;
jQuery("#linemilles").html(linemilles*0.62 + " миль");
в хтмл вывожу результат так
<span id="linemilles"></span>

но вместо числового значения получаю вот это NaN


подскажите что я делаю не так?

повторюсь!
мне нужно взять результат переменной
lineDistance
там числовое значение

загнать этот результат в переменную
linemilles
и умножить на 0.62 в результате я должен получить расстояние в милях, но блин че выдает NaN - где я ошибся помогите!


_____
Код программы нужно выделять (форматировать) тегами [CODE] (читать FAQ)
Модератор

Последний раз редактировалось Serge_Bliznykov; 05.08.2015 в 10:35.
serauto79 вне форума Ответить с цитированием
Старый 05.08.2015, 10:41   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

всё верно, у Вас же нет ПЕРЕМЕННОЙ lineDistance (покажите мне строчку, где есть такая переменная)

попробуйте так:
Код:
var lined = document.getElementById("lineDistance").innerHTML;
var linemilles = parseFloat ( lined ) * 0.62;
$("#linemilles").html(linemilles + " миль");
я не проверял!!

p.s. после отладки можно выкинуть лишние переменные и записать это вычисление в одну строчку.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 05.08.2015, 11:28   #3
serauto79
Заблокирован
 
Регистрация: 02.04.2015
Сообщений: 29
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
всё верно, у Вас же нет ПЕРЕМЕННОЙ lineDistance (покажите мне строчку, где есть такая переменная)

попробуйте так:
Код:
var lined = document.getElementById("lineDistance").innerHTML;
var linemilles = parseFloat ( lined ) * 0.62;
$("#linemilles").html(linemilles + " миль");
я не проверял!!

p.s. после отладки можно выкинуть лишние переменные и записать это вычисление в одну строчку.




Спасибо вам за помощь
добавил еще одну строку, терь убрало вывод десятичных чисел после точки

var lined = document.getElementById("lineDistan ce").innerHTML;
var linemilles = parseFloat ( lined ) * 0.62;
linemilles = Math.round(linemilles*10)/10;
$("#linemilles").html(linemilles + " миль");
serauto79 вне форума Ответить с цитированием
Старый 05.08.2015, 14:53   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

для представления в виде числа с фиксированным числом запятых лучше пользоваться стандартным JavaScipt методом toFixed()

второе. раз уж Вы jQuery используете, то вместо чистого JS можно использовать селекторы jQuery (вместо document.getElementById("lineDistan ce").innerHTML можно использовать $("#lineDistance").html )

третье. проверил. у меня такой код:
Код:
var lined = $("#lineDistance").html();
var linemilles = (parseFloat ( lined ) * 62/100).toFixed(1);
$("#linemilles").html(linemilles + " миль");
вроде бы у меня работает.

вот пример в песочнице - https://jsfiddle.net/Lepoa8vz/

что у Вас в lineDistance ?

Последний раз редактировалось Serge_Bliznykov; 05.08.2015 в 14:58.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 05.08.2015, 17:03   #5
serauto79
Заблокирован
 
Регистрация: 02.04.2015
Сообщений: 29
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
что у Вас в lineDistance ?

да lineDistance выдавало расстояние в км, и мне нужно было преобразовать его в мили
serauto79 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Yii: Передать значение переменной blondino4ka_milk PHP 1 09.04.2014 13:38
нужно передать значение одной переменной в другой файл php Programmer_St PHP 3 30.10.2012 00:24
Как передать значение переменной JS в код php? Makaralex Помощь студентам 4 06.09.2012 19:42
C#: Передать значение переменной из одной формы в другую Veiron Общие вопросы .NET 3 29.06.2009 17:43
Как передать значение переменной из функции в ACCESSе в функцию в EXCELе? musicitsme Microsoft Office Access 1 01.04.2009 10:24