- 001
- 002
- 003
- 004
- 005
- 006
- 007
- 008
- 009
- 010
- 011
- 012
- 013
- 014
- 015
- 016
- 017
- 018
- 019
- 020
- 021
- 022
- 023
- 024
- 025
- 026
- 027
- 028
- 029
- 030
- 031
- 032
- 033
- 034
- 035
- 036
- 037
- 038
- 039
- 040
- 041
- 042
- 043
- 044
- 045
- 046
- 047
- 048
- 049
- 050
- 051
- 052
- 053
- 054
- 055
- 056
- 057
- 058
- 059
- 060
- 061
- 062
- 063
- 064
- 065
- 066
- 067
- 068
- 069
- 070
- 071
- 072
- 073
- 074
- 075
- 076
- 077
- 078
- 079
- 080
- 081
- 082
- 083
- 084
- 085
- 086
- 087
- 088
- 089
- 090
- 091
- 092
- 093
- 094
- 095
- 096
- 097
- 098
- 099
- 100
$(document).ready(function(){
/** пропускаем небольшое вступление */
function PriseArray2(Prise)//Объявляю массивы второй размерности
{
for (var ii = 0; ii < PriseCityPxP+1; ii++)//PriseCityPxP+1 ибо у меня у каждого города номер, нулевая линейка элементов не используется
{
Prise[ii] = new Array();//Иду по городам
}
}
var CityUslugsKol = 6;//Колво возможных конфигураций услуг внутри города (равно колву массивов в массиве City)
//Создаю массивы по услугам внутри городов. Вес-объём-максимальный габарит-стоимость услуги-стоимость выезда на 1 км. за черту города.
var City1=[ [250, 1, 1, 400, 10], [500, 3, 2, 800, 10], [1000, 6, 3, 1200, 12], [2000, 8, 4, 1600, 15], [3000, 15, 5, 3500, 20], [3000, 15, 6, 6000, 22] ];
var City2=[ [250, 1, 1, 400, 10], [500, 3, 2, 800, 10], [1000, 6, 3, 1200, 12], [2000, 8, 4, 1600, 15], [3000, 15, 5, 3500, 20], [3000, 15, 6, 6000, 22] ];
var City3=[ [250, 1, 1, 400, 10], [500, 3, 2, 800, 10], [1000, 6, 3, 1200, 12], [2000, 8, 4, 1600, 15], [3000, 15, 5, 3500, 20], [3000, 15, 6, 6000, 22] ];
var City4=[ [250, 1, 1, 400, 10], [500, 3, 2, 800, 10], [1000, 6, 3, 1200, 12], [2000, 8, 4, 1600, 15], [3000, 15, 5, 3500, 20], [3000, 15, 6, 6000, 22] ];
var City5=[ [250, 1, 1, 400, 10], [500, 3, 2, 800, 10], [1000, 6, 3, 1200, 12], [2000, 8, 4, 1600, 15], [3000, 15, 5, 3500, 20], [3000, 15, 6, 6000, 22] ];
var City6=[ [250, 1, 1, 400, 10], [500, 3, 2, 800, 10], [1000, 6, 3, 1200, 12], [2000, 8, 4, 1600, 15], [3000, 15, 5, 3500, 20], [3000, 15, 6, 6000, 22] ];
var City7=[ [250, 1, 1, 400, 10], [500, 3, 2, 800, 10], [1000, 6, 3, 1200, 12], [2000, 8, 4, 1600, 15], [3000, 15, 5, 3500, 20], [3000, 15, 6, 6000, 22] ];
//Ввожу цены
Prise1[2][0]=8.40;
Prise1[2][1]=8.10;//501 - 1000
Prise1[2][2]=7.80;//1001-1500
Prise1[2][3]=7.50;//1501-2000
Prise1[2][4]=7.20;//2001-3000
/** и т.д. Ввод цен тянется до 320-й строки - мы это пропустим, впереди еще много интересного */
function alertError()
{
alert ('Пожалуйста, проверьте правильность ввода данных.');
exit;
}
//Кнопка расчёта
//Обрабатываем введённые пользователем числа
var valueNumerikArray = new Array(9); //массив введённых пользователем чисел плюс доп. элементы для хранения обработанных
var praiсNumerikArray = new Array(9); //массив округлённых в большую сторону чисел (для определения цены)
var valueNumerikArrayUser = 6//Кол-во цифр введённых пользователем
$('#button_calc').click(function ()
{
/** пропускаем скучное вступление в этой функции */
//Определяем номер прайса и наборы цен доп. услуг
tekSel1 = $('#where').val();//город куда
tekSel2 = $('#from').val();//город откуда
NumerikPrise(tekSel1, tekSel2);
if (NomerWhere==NomerFrom || NomerWhere==0 || NomerFrom==0)
{
alert ('Пожалуйста, проверьте правильность ввода городов.');
exit;
}
else
{
/** опять пропускаем лирическое вступление */
var jj;//Это номер столбика (от нуля) элемента массива (ставим в зависимость от массы перевозки)
if (valueNumerikArray[0]<=500)
{
jj=0;
}
if (valueNumerikArray[0]>500 && valueNumerikArray[0]<=1000)
{
jj=1;
}
if (valueNumerikArray[0]>1000 && valueNumerikArray[0]<=1500)
{
jj=2;
}
if (valueNumerikArray[0]>1500 && valueNumerikArray[0]<=2000)
{
jj=3;
}
if (valueNumerikArray[0]>2000 && valueNumerikArray[0]<=3000)
{
jj=4;
}
if (valueNumerikArray[0]>3000)
{
jj=5;
}
switch(NomerWhere) //Номер прайса
{
case 1: //в Барнаул
{
tekPrise=Prise1;
rezCena=Math.round(Prise1[NomerFrom][jj]*valueNumerikArray[0] * 100) / 100;
сena[0]=rezCena;
сena[0] = String(сena[0])+" руб.";
$('#cena0citys').text(сena[0]);
break;
}
case 2: //в Екатеринбург
{
tekPrise=Prise2;
Бродя по просторам рунета, наткнулся на данный "шедевр". Полный код данного "калькулятора" занимает 1297 строк, посему привожу лишь самое интересное. Оригинальные комментарии сохранены. Свои отметил /** такими вот штучками */