Скрипт ингредиенты и рецепты на кулинарный сайт. ТЗ Страница 29

Скрипт для модуля ингредиенты и рецепты на кулинарный сайт

Re: Скрипт ингредиенты и рецепты на кулинарный сайт. ТЗ

Admin » » Сообщение:

Iliz писал(а) › 03 дек 2016, 11:47:Может это отразилось на внешнем виде самого скрипта?

Конечно. Ведь скрипт привязан к форме - заменяет ее элементы на свои, следовательно, если что-то меняется, то это отражается и на скрипте.

Iliz писал(а) › 03 дек 2016, 11:47:Причем методы карбонизации отображаются отлично, а вот ингредиенты и температурные паузы в методе затирание нет. Почему так?

Возможно потому что изменения в форме не затрагивают данную часть?

Посмотрите в хроме под гостем, как отображается?

В любом случае, я сейчас не в городе, и с бука, в отсутствии исходников, вот так навскидку, что-то конкретное сказать не могу..

Добавлено спустя 12 минут 23 секунды:

Iliz писал(а) › 03 дек 2016, 11:47:Причем методы карбонизации отображаются отлично, а вот ингредиенты и температурные паузы в методе затирание нет. Почему так?

Не могу сказать точно, но по моему, здесь что-то другое должно быть:

magical-snap-2016-12-03-12-59-001.png
скрипт, ингредиенты, рецепты, кулинарный сайт, тз, техническое задание

Re: Скрипт ингредиенты и рецепты на кулинарный сайт. ТЗ

Admin » » Сообщение:

В хроме под гостем также как и в мозилле

Iliz писал(а) › 25 ноя 2016, 17:36:Таблицы ингредиентов и температурных паузы разъехались, а именно ячейка с деталями ингредиенты расширилась по горизонтале, что портит весь вид таблицы.

За этот момент отвечает свойство box-sizing из данного фрагмента:

magical-snap-2016-12-03-13-17-002.png
Код: Выделить всё Развернуть
.myWinCont * {
    box-sizing: border-box;
}

а так как смещение на ширину прокрутки осуществляется отступом справа для последней ячейки (смотри стили скрипта)

Код: Выделить всё Развернуть
#ferments-table-thead th:last-child {
    padding-right: 20px;
}

, то при таком прописании оно не срабатывает.
Из-за этого и несовпадение на 20 пикселей.
Можно попробовать прописать для этой ячейки свойственное ей свойство, типа

Код: Выделить всё Развернуть
#ferments-table-thead th:last-child {
    padding-right: 20px;box-sizing: content-box;
}

..и возможно отредактировать ширину отступа..

Кстати, возможно и из-за этого же правила:

Код: Выделить всё Развернуть
.myWinCont * {
    box-sizing: border-box;
}

появились и остальные проблемы..

Советую отключить эту таблицу (беер.рф/.s/src/base.css) со страницы добавления... или скорректировать стили, что гораздо сложнее, так как .. ну вы сами посмотрите что там за правила..
К примеру:

Код: Выделить всё Развернуть
form#addEntForm > table > tbody > tr:first-child > td:first-child{width:40%; }

вы же понимаете, что оно затрагивает все первые ячейки в таблицах формы?
Или это:

Код: Выделить всё Развернуть
form#addEntForm > table input[type=text]:not([name=sort]):not([name=code]):not([name^=iws]):not([name^=ihs]),
form#addEntForm > table textarea{width:100%; box-sizing:border-box; }

- это вообще будет сложно перебить .. только !important
...


Re: Скрипт ингредиенты и рецепты на кулинарный сайт. ТЗ

Iliz » » Сообщение:

Спасибо большое. Сейчас таблицы отображаются норм, после чистки кэш. Ты что-то поменял?? Или может они там вернули как было?

Добавлено спустя 12 минут 57 секунд:
Хотел еще, чтобы ты мне за вознаграждение подсказал, что нужно изменить в скрипте калькулятора, например, в этом: http://xn--90aia8b.xn--p1ai/beer-calculators/alcohol И чтобы я уже по аналогии мог исправить это в других калькуляторах.
Проблема заключается в том, что когда вводишь дробные числа через запятую, например: 10,3 то калькулятор выдает ошибку, что число указано неправильно, а когда через точку 10.3, тогда все считает нормально. Так вот хотелось бы во всех калькуляторах, а их на сайте свыше 10 научится исправлять эту проблему, чтобы когда число вводишь через запятую, скрипт бы подменял либо на точку, либо рассчитывал данные с запятой (как проще сделать так и лучше).
Заранее благодарен, с меня причитается:)


Re: Скрипт ингредиенты и рецепты на кулинарный сайт. ТЗ

Admin » » Сообщение:

Iliz писал(а) › 03 дек 2016, 17:05:Сейчас таблицы отображаются норм, после чистки кэш. Ты что-то поменял?? Или может они там вернули как было?

Нет, я не менял.
Проблема осталась..

magical-snap-2016-12-03-16-57-001.png
Iliz писал(а) › 03 дек 2016, 17:05:Хотел еще, чтобы ты мне за вознаграждение подсказал, что нужно изменить в скрипте калькулятора, например, в этом: http://xn--90aia8b.xn--p1ai/beer-calculators/alcohol И чтобы я уже по аналогии мог исправить это в других калькуляторах.

..ну, нужно при вводе данных или в функции расчета проверять - есть ли запятая в переменной с числом и, если есть, заменять на точку.
функция замены такая:

Код: Выделить всё Развернуть
str.replace(/,/g,'.')

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

Код: Выделить всё Развернуть
var str = '1,0';
if(/^[0-9]+[,]+?$/.test(str)){
   alert('в данном числе есть запятая');
}else{
   alert('это просто число или что-то иное');
}
Iliz писал(а) › 03 дек 2016, 17:05: чтобы когда число вводишь через запятую, скрипт бы подменял либо на точку, либо рассчитывал данные с запятой (как проще сделать так и лучше)

Дело в том, что любые данные могут принадлежать нескольким определенным типам, ознакомьтесь: Типы данных JavaScript и в тип Number не входит запятая. А математические операции можно выполнять только с этим типом (не считая нескольких исключений).


Re: Скрипт ингредиенты и рецепты на кулинарный сайт. ТЗ

Iliz » » Сообщение:

Не понимаю я так. А можно конкретный пример показать на самом скрипте? Ниже скрипт калькулятора:

Код: Выделить всё Развернуть
var og = 1.05;
var fg = 0;
var equation = 'basic';
var gravityunit = 'sg';
var divABV;
var divAttenuation;
var divCalories;
var divOG;
var divFG;

function getSelectedRadioValue(r) {
    for (i = 0; i < r.length; i++) {
        if (r[i].checked) {
            return r[i].value;
            break
        }
    }
}

function setVars() {
    og = document.calc.txtog.value;
    fg = document.calc.txtfg.value;
    equation = getSelectedRadioValue(document.calc.rd_equation);
    gravityunit = getSelectedRadioValue(document.calc.gravityunit);
    divABV = document.getElementById('divABV');
    divAttenuation = document.getElementById('divAttenuation');
    divCalories = document.getElementById('divCalories');
    divOG = document.getElementById('divOG');
    divFG = document.getElementById('divFG')
}

function updateAll() {
    if (!checkInput()) {
        return false
    }http://likbezz.ru/viewtopic.php?t=1527&p=6730#top
    recalculate()
}

function recalculate() {
    var a = og;
    var b = fg;
    var c = og;
    var d = fg;
    if (gravityunit == "plato") {
        a = convertPlatoToGravity(og);
        b = convertPlatoToGravity(fg)
    }
    if (gravityunit == "sg") {
        c = convertGravityToPlato(og, 10);
        d = convertGravityToPlato(fg, 10)
    }
    if (equation == 'basic') {
        var e = (a - b) * 131.25;
        divABV.innerHTML = rounddecimal(e, 2) + "%"
    } else {
        var f = 76.08 * (a - b) / (1.775 - a);
        var g = f * (b / 0.794);
        divABV.innerHTML = rounddecimal(g, 2) + "%"
    }
    if (c == 0) {
        c = 0.0001
    }
    var h = (1 - (d / c)) * 100;
    var i = computeCaloriesPer12oz(c, d);
    divOG.innerHTML = rounddecimal(c, 2) + " &deg;P, " + rounddecimal(a, 3);
    divFG.innerHTML = rounddecimal(d, 2) + " &deg;P, " + rounddecimal(b, 3);
    divAttenuation.innerHTML = rounddecimal(h, 0) + "%";
    divCalories.innerHTML = rounddecimal(i, 1) + " per 12oz bottle"
}

function checkInput() {
    setVars();
    if (gravityunit == "sg") {
        if (!isNumber(og)) {
            alert('Плотность должна быть указана числом (формат 1.xxx).');
            return false
        }
        if (!isNumber(fg)) {
            alert('Плотность должна быть указана числом (формат 1.xxx).');
            return false
        }
    } else {
        if (!isNumber(og)) {
            alert('Плотность должна быть указана числом (формат х.x).');
            return false
        }
        if (!isNumber(fg)) {
            alert('Плотность должна быть указана числом (формат х.x).');
            return false
        }
    }
    return true
}

function updateSugarScale() {
    setVars();
    if (gravityunit == "sg") {
        document.calc.txtog.value = "1.048";
        document.calc.txtfg.value = "1.010"
    } else {
        document.calc.txtog.value = "12";
        document.calc.txtfg.value = "2.5"
    }
}

function isNumber(s) {
    if (s === null) {
        return false
    }
    if (s === 0) {
        return true
    }
    if (s == '') {
        return false
    }
    if (isNaN(s)) {
        return false
    }
    var i;
    for (i = 0; i < s.length; i++) {
        var c = s.charAt(i);
        if (!((c >= "0") && (c <= "9")) && c != '.') {
            return false
        }
    }
    return true
}

function computeCaloriesPer12oz(a, b) {
    if (!isNumber(a)) {
        return 0
    }
    if (a <= 0) {
        return 0
    }
    if (!isNumber(b)) {
        return 0
    }
    if (b <= -12) {
        return 0
    }
    var c = (0.1808 * a) + (0.8192 * b);
    var d = (a - c) / (2.0665 - (0.010665 * a));
    var e = convertPlatoToGravity(b);
    var f = ((6.9 * d) + 4.0 * (c - 0.1)) * e * 3.55;
    return f
}

function convertPlatoToGravity(a) {
    return (a / (258.6 - ((a / 258.2) * 227.1))) + 1
}

function convertGravityToPlato(a, n) {
    if (!n) {
        n = 1
    }
    var b = (-1 * 616.868) + (1111.14 * a) - (630.272 * Math.pow(a, 2)) + (135.997 * Math.pow(a, 3));
    return rounddecimal(b, n)
}

function rounddecimal(n, a) {
    if (n === null) {
        return false
    }
    if (n === '') {
        return false
    }
    if (isNaN(n)) {
        return false
    }
    if (a < 0) {
        return false
    }
    if (a > 10) {
        return false
    }
    var b = Math.round(n * Math.pow(10, a)) / Math.pow(10, a);
    var c = (b + "").lastIndexOf(".");
    if (c == 0) {
        b = "0" + b;
        c = 1
    }
    if (a != 0) {
        c = (b + "").lastIndexOf(".");
        if (c == -1 || c == b.length - 1) {
            b += "."
        }
    }
    c = (b + "").lastIndexOf(".");
    var d = ((b + "").length - 1) - c;
    if (d < a) {
        for (x = d; x < a; x++) {
            b += "0"
        }
    }
    return b
}

function resetform() {
    document.calc.reset();
    setVars();
    recalculate()
}

Re: Скрипт ингредиенты и рецепты на кулинарный сайт. ТЗ

Admin » » Сообщение:

Iliz писал(а) › 05 дек 2016, 12:03:А можно конкретный пример показать на самом скрипте?

Я же вам один переделывал уже. не помню только какой..

Iliz писал(а) › 05 дек 2016, 12:03:Ниже скрипт калькулятора:

Да в нем только разбираться час надо..тем более без кода.

Iliz писал(а) › 05 дек 2016, 12:03:А можно конкретный пример показать на самом скрипте?

Вот:

Код: Выделить всё Развернуть
<form name="summ" id="summ">
<input type="text" id="a" name="a" /> + <input type="text" id="b" name="b" /> = <input readonly="readonly" type="text" id="result" name="result" /><br />
<input type="button" onclick="getSumm();return false;" value="сложить" />
<input type="reset" value="очистить" />
</form>
<script type="text/javascript">
function getSumm(){
var f=document.getElementById('summ'),a=f.a.value,b=f.b.value;
if(/[,]/.test(a)){
   a=parseFloat(a.replace(/,/g,'.'));
}else{
   a=parseFloat(a);
};
if(/[,]/.test(b)){
   b=parseFloat(b.replace(/,/g,'.'));
}else{
   b=parseFloat(b);
};
f.result.value=parseFloat(a+b);
}
</script>

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

Код: Выделить всё Развернуть
var a=parseFloat(f.a.value.replace(/,/g,'.'));

Но лучше, наверное, написать функцию приводящую числа в должный вид - с проверкой на число, заменой запятых, убирание пробелов, переносов и всякой мути что появляется при копировании откуда-либо..
Ну а по-простому так..


Re: Скрипт ингредиенты и рецепты на кулинарный сайт. ТЗ

Iliz » » Сообщение:

Сложно мне это все дается, пробовал сделать, но ничего не вышло. Калькулятор отказался вообще работать, пришлось откатить.

И еще, при редактирование рецепта пропал выбор стилей, который ты делал (из двух выпадающих списков). Сможешь посмотреть что не так?


Re: Скрипт ингредиенты и рецепты на кулинарный сайт. ТЗ

Admin » » Сообщение:

Iliz писал(а) › 09 дек 2016, 12:46:Калькулятор отказался вообще работать, пришлось откатить.

Это делается не на сайте, а в специализированных редакторах с подсветкой кода и ошибок

Iliz писал(а) › 09 дек 2016, 12:46:Сможешь посмотреть что не так?

Нет. У меня нет доступа к редактированию материалов.
Но на fflesh.ucoz.ru/board/ все работает..






Re: Скрипт ингредиенты и рецепты на кулинарный сайт. ТЗ

Iliz » » Сообщение:

Admin, выручай. Очень срочно. Опять проблема со скриптом. Не добавляются рецепты на сайт. При сохранение рецепта появляется таблица, что не заполнено поле IBU:

Изображение

Хотя такого поля вообще нет для заполнения и я не пойму откуда эта таблица вообще берется, такой надписи нет в скрипте.
И еще при выборе метода затирания не появляются блоки с параметрами затирания и температурными паузами.
Очень срочно, прошу устранить в долгу не останусь.


Re: Скрипт ингредиенты и рецепты на кулинарный сайт. ТЗ

Admin » » Сообщение:

Iliz писал(а) › 22 дек 2016, 16:30:При сохранение рецепта появляется таблица, что не заполнено поле IBU

Вот так - с кавычками? .. да, это явно странное сообщение - я не использую двойные кавычки алерт окнах..
Сейчас посмотрю, что это может быть..

Iliz писал(а) › 22 дек 2016, 16:30:не заполнено поле IBU

Юкоз удалила некоторые идентификаторы...
Раньше было:

Код: Выделить всё Развернуть
<td class="manTd2" id="bdM51"><select id="bdF18" class="manFlFlt1" name="filter1"><option value="0" style="color:#A3A3A3">- выбрать -</option>

стало:

Код: Выделить всё Развернуть
<td class="manTd2" id="bdM51"><select class="manFlFlt1" name="filter1" ><option value="0" readonly >- выбрать -</option>

...

Ну и соответственно:

Код: Выделить всё Развернуть
<tr id="bdM65"><td align="center" id="bdM66" class="manTdBut" colspan="2"><input type="submit" id="doSmbBt" style="display: none;"><input type="button" onclick="document.getElementById('doSmbBt').click();" value="Добавить" style="font-weight: bold;" id="bdF77" class="manFlSbm">

стало:

Код: Выделить всё Развернуть
<center><input type="submit" style="display:none;" id="doSmbBt" /><input type="button" class="manFlSbm" id="bdF77" style="font-weight:bold;" value="Добавить" onclick="document.getElementById('doSmbBt').click();" />

...

Поправил - сбросьте кеш и проверьте.
Если все норм:
Доступно только для зарегистрированных пользователей.



Пред.След.



Похожие темыКомментарии ПросмотрыПоследнее сообщение
0381Истек период сессии. Обновить/продл...
Сообщение от: Admin
0803Стоп спамер. Проверка пользователей...
Сообщение от: Admin
11846Re: Скрипт быстрый поиск по entery ...
Сообщение от: Admin
21577Re: Закладки пользователя для сайта...
Сообщение от: Admin
0987Простой и небольшой скрипт определя...
Сообщение от: Admin