Ингредиенты и рецепты - нужен скрипт
|
|
[211] Iliz [20.10.2015, 14:39] |
|
|
[212] Iliz [17.12.2015, 11:46] |
Добрый день. У меня на сайте есть калькулятор карбонизации пива Хотелось бы его немного усовершенствовать:
1) Что бы по умолчанию выбирались Цельсии, а не фаренгейты. 2) Калькулятор рассчитывает давление в PSI, а надо бы пересчитывать еще и в BAR 1 PSI = 0,07 BAR
Возможно ли такое? То моих знаний в скриптах пока не хватает.
|
|
[213] likbezz [18.12.2015, 01:34] |
Iliz, Добрый) Да, наверняка. Позже посмотрю, отпишусь. |
|
[214] Iliz [18.12.2015, 11:59] |
Не смотрели еще калькулятор? Есть еще пару идей, которые надо реализовать в главном скрипте.
Сообщение отредактировал Iliz - Пятница, 18.12.2015, 12:00 |
|
[215] likbezz [19.12.2015, 01:52] |
Iliz, Не смотрели еще калькулятор? Да вот, только только.. Заменить таблицу на эту:
Код <table cellspacing="2" cellpadding="2" style="tableLayout: auto; background: #FFE9A8;" class="calc"> <tbody> <tr> <td style="text-align: center; background: #FFBF00;" colspan="2" class="separator">Калькулятор силы карбонизации:</td> </tr> <tr> <td style="vertical-align: top; padding-top: 6px;">Единицы:</td> <td><label><input type="radio" value="us" onchange="document.calc.txttemp.value=36; updateAll();" name="rd_units"> Фаренгейт </label><br> <label><input type="radio" value="metric" onchange="document.calc.txttemp.value=2; updateAll();" name="rd_units" checked="checked"> Цельсий </label></td> </tr> <tr> <td>Объем CO2:</td> <td><input type="text" value="2.0" style="width: 100px" onchange="javascript: updateAll();" name="txtvolumes" maxlength="5"></td> </tr> <tr> <td>Температура в кеге:</td> <td><input type="text" value="2" style="width: 100px" onchange="javascript: updateAll();" name="txttemp" maxlength="5"> (F / C)</td> </tr> <tr> <td> </td> <td><input type="button" value="Обновить" onclick="javascript: updateAll();" name="update"><br> </td> </tr> <tr style="height: 30px;"> <td>Необходимое давление:</td> <td> <strong style="font-size: 150%;" id="divPSI" class="calcinfogreen">5.0 psi</strong> || <strong id="divBAR" class="calcinfogreen" style="font-size: 150%;">0.4 bar</strong></td> </tr> </tbody> </table> Скрипт перенести ниже таблицы, как в примере. Скрипт в личке.
Есть еще пару идей, которые надо реализовать в главном скрипте. Слушаю.
ps
Код <form onsubmit="return false;" name="calc"> <table cellspacing="2" cellpadding="2" style="tableLayout: auto; background: #FFE9A8;" class="calc"> <tbody> <tr> <td style="text-align: center; background: #FFBF00;" colspan="2" class="separator">Калькулятор силы карбонизации:</td> </tr> <tr> <td style="vertical-align: top; padding-top: 6px;">Единицы:</td> <td><label> Цельсий </label></td> </tr> <tr> <td>Объем CO2:</td> <td><input type="text" value="2.0" style="width: 100px" onchange="javascript: updateAll();" name="txtvolumes" maxlength="5"></td> </tr> <tr> <td>Температура в кеге:</td> <td><input type="text" value="2" style="width: 100px" onchange="javascript: updateAll();" name="txttemp" maxlength="5"> (C)</td> </tr> <tr> <td> </td> <td><input type="button" value="Обновить" onclick="javascript: updateAll();" name="update"><br> </td> </tr> <tr style="height: 30px;"> <td>Необходимое давление:</td> <td> <strong style="font-size: 150%;" id="divPSI" class="calcinfogreen">4.97 psi</strong> || <strong id="divBAR" class="calcinfogreen" style="font-size: 150%;">0.35 bar</strong></td> </tr> </tbody> </table> </form> |
|
[216] Iliz [21.12.2015, 12:01] |
Отлично. На примере этого калькулятора можешь мне объяснить, что нужно изменить в коде, что бы по умолчанию выбраны были метрические единицы измерения и только. Как это в прошлом калькуляторе мы сделали. Мне бы понять как это делается, что бы в следующих калькуляторах я сам мог это уже исправлять. |
|
[217] Iliz [21.12.2015, 12:05] |
Цитата Iliz, Пт, 18.12.2015, 11:59:39 Есть еще пару идей, которые надо реализовать в главном скрипте. Слушаю. Чуть позже. Надо сначала с калькуляторами разобраться. |
|
[218] likbezz [21.12.2015, 12:37] |
На примере этого калькулятора можешь мне объяснить ..Как вы себе это представляете?
Для начала, закоментировать лишние строки и чекбоксы в html форме. В скрипте найти зависимости от закоментированных элементов. Отредактировать скрипт, заменив зависимости на статичные данные.
Хорошо |
|
[219] Iliz [21.12.2015, 15:05] |
. Как вы себе это представляете? Покажи код, который надо заменить и на что его заменить (код). А дальше по аналогии я сам буду пробовать в других калькуляторах. Если не получится обращусь к тебе. По другому я не додумаюсь) там еще 10 калькуляторов с таким же выбором единиц измерений, которые ненужны
Сообщение отредактировал Iliz - Понедельник, 21.12.2015, 15:09 |
|
[220] likbezz [21.12.2015, 16:41] |
Iliz, Покажи код, который надо заменить и на что его заменить (код) На предыдущем примере: Заменить это:
Код <tr> <td style="vertical-align: top; padding-top: 6px;">Единицы:</td> <td><label><input type="radio" value="us" onchange="document.calc.txttemp.value=36; updateAll();" name="rd_units"> Фаренгейт </label><br> <label><input type="radio" value="metric" onchange="document.calc.txttemp.value=2; updateAll();" name="rd_units" checked="checked"> Цельсий </label></td> </tr> На это:
Код <tr> <td style="vertical-align: top; padding-top: 6px;">Единицы:</td> <td> <label> Цельсий </label></td> </tr>
Заменить это:
Код <td><input type="text" value="2" style="width: 100px" onchange="javascript: updateAll();" name="txttemp" maxlength="5"> (F / C)</td>
На это:
Код <td><input type="text" value="2" style="width: 100px" onchange="javascript: updateAll();" name="txttemp" maxlength="5"> (C)</td>
И это:
Код <tr style="height: 30px;"> <td>Необходимое давление:</td> <td> <div style="font-size: 150%;" id="divPSI" class="calcinfogreen">5.0 psi</div></td> </tr>
На это:
Код <tr style="height: 30px;"> <td>Необходимое давление:</td> <td> <strong style="font-size: 150%;" id="divPSI" class="calcinfogreen">4.97 psi</strong> || <strong id="divBAR" class="calcinfogreen" style="font-size: 150%;">0.35 bar</strong></td> </tr> Добавляем переменную:
Код var volumes, temp, units, divPSI;
На:
Код var volumes, temp, units, divPSI, divBAR;
Определяем ее:
Код divPSI = document.getElementById('divPSI');
Добавить ниже:
Код divBAR = document.getElementById('divBAR');
Прописываем единицу измерений:
Код units = getSelectedRadioValue(document.calc.rd_units);
На:
Добавляем переменную:
Код pressure = rounddecimal(pressure, 1);
Заменить на:
Код pressure = rounddecimal(pressure, 2); pressure2 = rounddecimal((0.07*pressure), 2);
Выводим:
Код divPSI.innerHTML = pressure + " psi";
Заменить на:
Код divPSI.innerHTML = pressure + ' psi'; divBAR.innerHTML = pressure2 + ' bar';
Подчищаем лишнее: Удалить:
Код function getSelectedRadioValue(r) { for (i = 0; i < r.length; i++) { if (r[i].checked) { return r[i].value; break } } } ,
Код if (units == "us" && temp <= 32) { alert('Температуры должны быть выше чем 32.'); return false } ,
Код if (units == "us" && temp >= 150) { alert('Температуры должны быть ниже чем 150.'); return false } ---
По другому я не додумаюсь Ну думаю, что это сильно тебе поможет .. все скрипты разные.. |
|
[221] Iliz [21.12.2015, 17:11] |
На предыдущем примере: Заменить это: Код <tr> <td style="vertical-align: top; padding-top: 6px;">Единицы:</td> <td><label><input type="radio" value="us" onchange="document.calc.txttemp.value=36; updateAll();" name="rd_units"> Фаренгейт </label><br> <label><input type="radio" value="metric" onchange="document.calc.txttemp.value=2; updateAll();" name="rd_units" checked="checked"> Цельсий </label></td> </tr> На это: Код <tr> <td style="vertical-align: top; padding-top: 6px;">Единицы:</td> <td> <label> Цельсий </label></td> </tr>
Заменить это: Код <td><input type="text" value="2" style="width: 100px" onchange="javascript: updateAll();" name="txttemp" maxlength="5"> (F / C)</td>
На это: Код <td><input type="text" value="2" style="width: 100px" onchange="javascript: updateAll();" name="txttemp" maxlength="5"> ©</td>
И это: Код <tr style="height: 30px;"> <td>Необходимое давление:</td> <td> <div style="font-size: 150%;" id="divPSI" class="calcinfogreen">5.0 psi</div></td> </tr>
На это: Код <tr style="height: 30px;"> <td>Необходимое давление:</td> <td> <strong style="font-size: 150%;" id="divPSI" class="calcinfogreen">4.97 psi</strong> || <strong id="divBAR" class="calcinfogreen" style="font-size: 150%;">0.35 bar</strong></td> </tr>
Ну если с этим более и менее все понятно. А то, что ниже вообще не пойму откуда взято. Я эти коды не в скрипте, не на странице калькулятора не вижу.Добавляем переменную: Код var volumes, temp, units, divPSI; На: Код var volumes, temp, units, divPSI, divBAR;
Определяем ее: Код divPSI = document.getElementById('divPSI');
Добавить ниже: Код divBAR = document.getElementById('divBAR');
Прописываем единицу измерений: Код units = getSelectedRadioValue(document.calc.rd_units);
На: Код units = 'metric';
Добавляем переменную: Код pressure = rounddecimal(pressure, 1);
Заменить на: Код pressure = rounddecimal(pressure, 2); pressure2 = rounddecimal((0.07*pressure), 2);
Выводим: Код divPSI.innerHTML = pressure + " psi";
Заменить на: Код divPSI.innerHTML = pressure + ' psi'; divBAR.innerHTML = pressure2 + ' bar';
Подчищаем лишнее: Удалить: Код function getSelectedRadioValue® { for (i = 0; i < r.length; i++) { if (r[i].checked) { return r[i].value; break } } }
, Код if (units == "us" && temp <= 32) { alert('Температуры должны быть выше чем 32.'); return false }
, Код if (units == "us" && temp >= 150) { alert('Температуры должны быть ниже чем 150.'); return false }
Сообщение отредактировал Iliz - Понедельник, 21.12.2015, 17:12 |
|
[222] likbezz [21.12.2015, 18:19] |
А то, что ниже вообще не пойму откуда взято. Это взято из предыдущего скрипта, что стоял у вас на странице, из того, который правил. Распакованный, естественно.
..И да .. этим заниматься нужно не на сайте, а на отдельной локальной странице, лучше всего, на локальном сервере.. в редакторе с подсветкой JS синтаксиса и контролем ошибок. Так же неплохо уметь пользоваться консолью и отладчиком.. |
|
[223] Iliz [22.12.2015, 09:46] |
За распаковку огромный респект. Честно я даже не понимал, что за скрипт такой не понятный. Теперь я могу многое править сам. А как потом это все запаковать обратно, не разберусь? |
|
[224] likbezz [22.12.2015, 11:50] |
Iliz, А как потом это все запаковать обратно, не разберусь? packer |
|
[225] Iliz [23.12.2015, 14:56] |
Спасибо за наводку. Получилось самому все устранить! |
|