Онлайн калькулятор для сайта


Беглый анализ открытых данных показывает, что ежедневно в среднем 5 человек оставляют заявки на создание калькулятора на биржах фриланса — а еще несколько сотен интересуются вопросом в поиске. Часто запросы стандартны — и, конечно, на рынке сложился целый набор готовых предложений: от плагинов для конкретных CMS до калькуляторов, которые можно приобрести у студий. Рекорд, обнаруженный нами (см. в первом комментарии) — 24 999 рублей за довольно обычное решение.

Да, рынок есть рынок. Но поскольку мы в основном работаем с людьми, чьи сайты сделаны на конструкторах, у них нет 25 тысяч на один виджет. Вот и возникло желание написать калькулятор, которым они смогли бы пользоваться самостоятельно — и без изучения HTML, JS, JQuery и CSS.

Онлайн калькулятор для сайта

В процессе работы над проектом нам удалось реализовать несколько находок в логике работы и дизайне калькулятора. Ими, а также полезными инструментами, и хотим поделиться с сообществом.

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


Как устроен конструктор калькуляторов

Пишем свою адаптивность

Лайфхак: как упростить формулы до азбуки

Чистим код с GULP (а не тем, о чем вы могли подумать)

Есть ли жизнь после жизни?

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

В начале было пустое поле. Регистрируясь на сервисе впервые, человек действительно видит пустую страницу с единственной кнопкой добавления нового проекта-калькулятора.

В будущем на этой странице будут появляться снимки-ссылки на калькуляторы пользователя, вот как тут:

Онлайн калькулятор для сайта

Для создания скриншота-превью калькулятора в кабинете мы использовали PhantomJS. Штука очень удобная, когда ты уже создал несколько калькуляторов, — при входе в кабинет сразу понятно, где какой из проектов.

Люди любят ползунок. Это стало понятно, когда мы запустили первых людей на сервис, и они стали выбирать, из каких элементов создать виджет.

Сам интерфейс создания калькулятора устроен похоже с ЛК — есть большое пустое поле, на которое можно добавлять элементы из боковой панели. Для старта мы выбрали 8 элементов. Пять отвечают непосредственно за калькулятор — это ползунок, выпадающий список, галочка, текстовое поле (для сбора почт, адресов и т.д.) и переключатель. Еще три — за привлекательность (картинка) и опцию заказа — текстовый блок и кнопка. Самым востребованным элементом из всех оказался ползунок.


Онлайн калькулятор для сайта
Сначала для создания ползунка мы выбрали расширения jQuery Scrollbar, но штука странно себя вела на мобильных. Поэтому мы взяли и модифицировали расширение JQuery-Range-Slider. Остальные элементы написали и стилизовали сами

Манипуляции с элементами и данными калькуляторов производятся на клиентской части проекта — поэтому в процессе важно было придумать, как максимально экономить ресурсы браузера.

Этот момент стал одним из самых хлопотных при отладке. Но зато сейчас запись процессов, происходящих на странице, когда человек перетаскивает элемент в калькулятор (это самый ресурсозатратный момент), выглядит так:

Онлайн калькулятор для сайта

Мы максимально порезали обработчики, оставив только необходимый минимум. С оптимизацией на клиентской части нам здорово помог инструмент Timeline из Google Chrome Developer Tools.

Исходно все элементы хранятся в объекте FIELDS — у каждого есть типовой HTML-шаблон и список опций. После перетаскивания элемента в рабочую область, нужные опции прилетают с сервера и подставляются в шаблон — например, на кнопку навешены отправка информации о заказе владельцу и клиенту: по почте через наш сервер, либо по смс — пока через API SmsSimple, но мы ищем другой сервис (и будем рады рекомендациям).


Онлайн калькулятор для сайта

Чтобы подставлять опции, к прототипу строки мы написали свой метод Signe. Работает он так:

Онлайн калькулятор для сайта

При этом мы стараемся защититься от вставки исполняемых кодов в шаблон: прежде всего на стороне сервера удаляются теги <скрипт>, а основная защита построена на экранировании спецсимволов + эскейп тегов.

Drag’n’drop по-своему. Идея «бери больше — кидай дальше», на наш взгляд, это самый удобный способ сборки чего бы то ни было для обычного пользователя. Ну хотя бы потому, что красиво.

Когда мы рассматривали существующие решения для создания калькуляторов, в них смущала некая «прибитость элементов гвоздями» — факт, что элементы можно расположить довольно строго определенным образом: например, только друг под другом, а не рядом. Хотелось уйти от этого, для чего мы придумали систему точек.

Онлайн калькулятор для сайта
Cетка невидимых пользователю точек

Перед перетаскиванием нового элемента мы формируем карту точек, в которые можно добавить новое поле — для этого скрипт обращается ко всем элементам рабочей области и оценивает их границы.

Что это дает? Пользователь сразу может выбрать между таким:


Онлайн калькулятор для сайта

И вот таким вариантом расположения элемента:

Онлайн калькулятор для сайта

При движении мы постоянно проверяем, находится ли мышь над калькулятором, а под капотом запоминаем тип перетаскиваемого поля и позицию, в которую нужно его бросить.

Перетаскивание элемента само по себе не затрачивает много ресурсов браузера, однако проверка того, куда прицелился пользователь, прямо зависит от количества полей, которые уже добавлены в калькулятор. Чтобы сэкономить ресурсы браузера, мы стали определять только координаты полей, которые находятся рядом с мышью, и выявлять ближайшее к ней поле:

Онлайн калькулятор для сайта
Для создания самих визуальных эффектов при сборке калькулятора мы использовали jQuery UI и Animate.css

Абстрагируемся от системы мер и весов. Поскольку решение хотелось сделать универсальным и простым, мы отказались от дополнительных полей, в которых при создании калькулятора человек бы выбирал метры, граммы или рубли. Условные обозначения можно вписать — но чисто для удобства и ориентира. Для всех текстовых элементов мы использовали движок Medium Editor – очень удобный и простой текстовый редактор.

Чтобы доказать, что конструктор подходит для чего угодно, мы наделали разных примеров. А один из примеров наделал шума среди первых тестеров:

«Шаблон «расчет количества мяса» — просто убил: по картинке понятно, что шашлык, а по градациям — такое впечатление, будто из всех этих людей собрались шашлык делать) Ржали всем отделом».


Онлайн калькулятор для сайта
Пощупать калькулятор-шаблон, который развеселил целый отдел, можно здесь

Картинки — это важно. Для лучшего знакомства с товаром или услугой логично добавить изображения над теми же галочками или иным полем, отвечающем за выбор. Благодаря сетке точек, получилось реализовать вставку картинки в любую область рабочего поля. Иногда это полезно:

Онлайн калькулятор для сайта
За тему с ёлочками спасибо Владимиру Гынгазову, автору канала “Adobe Muse по-русски”

Сама реализация загрузки картинок сделана через FileSystem API&File API — весь процесс отлично описан в этой статье.

«А поиграться с…?» Логично дать пользователю возможность подстроить цвета текстов, кнопок, фона и т.д. под цвета сайта. Для вызова и создания цветовой палитры мы использовали виджет Spectrum.

Онлайн калькулятор для сайта

Хранение данных и автосохранение. Данные о клиентской части калькулятора хранятся в формате JSON. Вы можете увидеть их структуру, просто написав в консоли SAVER.json на сервисе.

Онлайн калькулятор для сайта

Автосохранение происходит при каждом действии, если в калькуляторе есть активность. Изменения параллельно сохраняются и в DOM, причем каждый раз мы проверяем:

  • Есть ли в JSON все данные из DOM.
  • Есть ли в DOM все данные из JSON.

Если же в пределах 4 секунд ничего не происходит, калькулятор останавливает автосохранение до новых правок — так мы избавляемся от бессмысленных запросов к серверу.

Превью. Чтобы не затрачивать ресурсы браузера клиента, мы решили не анимировать интерфейс предпросмотра с помощью jQuery — поскольку с анимацией отлично справляется и CSS3: достаточно поменять класс в корне интерфейса, и у области просмотра изменится ширина и наружное оформление, стилизованное под смартфон и планшет.

Онлайн калькулятор для сайта
Внимание на консоль

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

В конструкторе сайтов uKit, для которого исходно создавался наш проект, используется сетка Twitter Bootstrap — популярное и заслуженное решение, чтобы адаптировать веб-элементы под экран посетителя. Но бутстреп предполагает два варианта дизайна: таблицу или колонку. Поэтому мы разработали собственный вариант адаптации калькулятора.

Т.к. структура калькулятора хранится в JSON, у нас есть родительский массив со строками, а в каждой строке — массив ячеек. Помимо этого, в ячейке есть массив суб-строк (и суб-ячеек), чтобы внутри было не одно поле, а несколько. Структура ячеек показана ниже:


Онлайн калькулятор для сайта

У калькулятора есть родительский блок со стилем display: table, внутри у него есть table-row и table-cell, соответственно. Сам калькулятор отрисовывается на сайте во фрейме. Внутри фрейма размещены стили для адаптации — и когда фрейм становится достаточно узким, калькулятор без изменения HTML-сетки перебрасывает поля на новые строки. Сделано это с помощью изменения стиля display: если на широком калькуляторе это table-cell, то на узком становится block, и наше поле оказывается на новой строке.

Онлайн калькулятор для сайта

Исходно-десктопный вид калькулятора зависит от ширины контейнера, в котором он находится, а калькулятор стремится показать в одной строке как можно больше полей. При сужении экрана функция, которая перестраивает сетку, проходит по всем строкам калькулятора, и если в строке есть «лишние» ячейки, ниже создается новая строка.

  • Если сам сайт с калькулятором адаптирован под мобильные устройства, контейнер с калькулятором будет занимать всю ширину устройства без масштабирования.
  • Если же сайт не адаптирован под мобильные устройства, калькулятор будет отображаться в меньшем масштабе — а его вид повторять вид для ПК.

Аналогично и в редакторе: когда пользователь меняет ширину своего проекта, перед ним отображается фрейм с копией его калькулятора. Как только ресайз завершен, под фреймом рисуется новая сетка, фрейм незаметно для пользователя скрывается — и можно продолжать работу с полями и формулами.

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

Вместо этого всего в отдельной вкладке есть элементы калькулятора в виде схемы. Схема содержит названия переменных и диапазоны значений для каждого из элементов калькулятора.

Онлайн калькулятор для сайта
Чтобы задействовать какое-то поле в расчете, достаточно указать его переменную в окошке слева. Формул может быть несколько: в этом случае в калькуляторе отображается несколько результатов, например “Обычная цена” и “Цена со скидкой”.

Переменные начинаются с буквы “A”. Если полей больше, чем букв в латинском алфавите, к имени переменной добавится еще одна буква: “AA” и так далее. Каждая буква связана с числовым id конкретного поля в калькуляторе. Найти готовое решение для преобразования числа в латинские буквы и комбинации букв нам не удалось. Поэтому мы написали следующий метод:

DAT.varName(9) // I
DAT.varName(39) // AM
DAT.varName(9650215) // UCALC


Будем рады, если он вам пригодится (с вопросами можно стучаться к condor-bird).

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

То есть, пора было отрезать ломоть калькулятор от сервиса. Встал выбор между двумя путями:

Быстрым. В том же превью грузится виджет калькулятора — можно скрыть все элементы интерфейса конструктора, оставив поля, сетку и калькулирование — и вот он, по сути, виджет для стороннего сайта.

Но быстрый путь был отвергнут — потому что он замедлял загрузку: мы получили бы 1959 килобайт, 269 из которых заняли бы все CSS-ки, используемые в сервисе. А ведь одно из главных требований к виджету на сайте — чтобы он грузился быстро.

И правильным. Тут мы пошли к GULP — чтобы обрезать все лишнее, вроде переноса строк, и собрать один минифицированный файл с максимально чистым кодом. Почему GULP? На то есть важная причина — у нас был 41 файл (и, соответственно, 41 запрос к серверу), а мы хотели уместить все в один запрос. И мы получили то, что хотели.

Онлайн калькулятор для сайта
Это наш дефолтный шаблон. Была скорость загрузки курильщика


Онлайн калькулятор для сайта
Стала скорость загрузки здорового человека

Теперь мы оставляем от 140 до 180 килобайт — в зависимости от числа полей. Для каждого типа поля есть две версии: короткая и вдвое короче — для стороннего сайта.

А что насчет скорости исполнения скрипта, спросите вы?

Онлайн калькулятор для сайта
Это огромный калькулятор расходов на свадьбу, созданный реальным пользователем. Было так.

Онлайн калькулятор для сайта
Тот же проект. Стало так

Как видно на картинке ниже, самым тяжеловесным остается текстовое поле — его мы будем оптимизировать дальше, отдавая на сайт только опцию, которую выбрал пользователь (в настройках поля есть выбор между телефоном, почтой, текстом, числовым значением и т.д.). В остальном для каждого калькулятора мы подключаем только используемые модули.

Онлайн калькулятор для сайта

После загрузки на стороннем сайте калькулятор больше не обращается к нашему серверу: все формулы и прочее необходимое зашиты в загруженный на сайте код.

В идеальном случае пользователь собрал калькулятор, получил код для встраивания на сайт — и наступило счастье.

Но установка на сайт не всегда значит, что человек больше не будет трогать готовый калькулятор. Самый очевидный случай, когда требуется внести изменения, — это рост или снижение цены на услугу.

Поэтому для каждого встроенного калькулятора мы делаем две версии:

  1. Опубликованную — ту, что непосредственно встроена на сайт.
  2. Редактируемую — ту, которую можно открыть и начать править в личном кабинете.

Онлайн калькулятор для сайта

Именно для этого в системе присутствует большая зеленая кнопка «Сохранить» — пока вы её не тронули, мы не переносим на сайт изменения, сделанные в версии для редактирования, а просто запоминаем их через автосохранение.

habr.com

Мы уже привыкли к виджетам на сайтах. Выпрыгиваюшие онлайн-консультанты и кнопки обратного звонка. Предлагаю к ознакомлению еще один интересный способ собирать заявки на сайте — онлайн-калькуляторы. Конечно, можно заказать разработку собственного калькулятора, но есть сервисы, предоставляющие готовые решения. Это отличный способ быстро внедрить и протестировать новый инструмент на сайте.

Где применить онлайн-калькулятор?

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

  • Калькуляторы стоимости ремонта квартиры
  • Калькулятор строительства загородного дома
  • Калькулятор расчета утеплителя
  • Различные расчеты пластиковых окон

Другие сферы, где очень часто можно встретить онлайн-расчеты: кредиты, страховка, продажа автомобилей, продажа билетов и туров, службы такси и грузоперевозок, клининг и так далее. Калькулятор можно внедрить практически в любую сферу бизнеса. Это добавит сайту интерактива и поможет собирать больше заявок.

Moclients.com

MoClients

Сервис состоит из 6 виджетов для сайта. Среди них есть онлайн-калькулятор. На самом деле это не  калькулятор — просто форма сбора заявок с шагами. В нем не производятся никакие расчеты. Клиенты проходит шаг-1, шаг-2, шаг-3 и получают предложение отправить результат на их почту.

Работает? — Да. Очень рекомендую протестировать данный сервис в сравнении с нижеприведенными калькуляторами. В моей практике был случай, когда на сайте по ремонту квартир, онлайн-калькуляция с реальными ценами сильно «уронила» объем получаемых заявок. Любой из виджетов в этой статье считает грубее человека. Такие расчеты могут отпугнуть потенциального клиента + нет возможности сгладить цену другими факторами при первом телефонном контакте. Так называемый contact wall — «оставь контакты и получи», работает практически всегда.

Вернемся к Моклиентс.  В вашем распоряжении есть бесплатная версия любого виджета на любое количество сайтов, но при этом c ограничением в 10 заявок/месяц. Платная версия любого калькулятора для 1 сайта стоит  490 рублей /месяц + 2 недели бесплатного использования.

Можно настроить цели и передавать события в Яндекс Метрику и Google Analytics.

Сайт предоставляет 5 различных способов оплаты, техническая поддержка быстро консультирует через чат или почту. Я сам пользуюсь этим виджетом несколько месяцев и мой отзыв: стоит попробовать.  Встречались ошибки в программной/фронт-енд части, но их довольно быстро устраняли. Интерфейс админ-панели можно назвать «сыроватым».

uCalc.pro

Ucalc

Сервис от легендарного конструктора сайтов Ucoz. У этого калькулятора есть три важных преимущества.

  1. Настоящий калькулятор. В админ-панели настраиваются формулы, клиент получает реальный расчет на сайте.
  2. Есть возможность редактировать код калькулятора.
    Онлайн калькулятор для сайта
  3. Интеграции. Есть модули для всех популярных CMS-систем. Можно передавать события в Яндекс Метрику и Google Analytics + данные из этих систем аналитики передаются в красивые дашборды на сервисе.
    Статистика онлайн-калькулятора
  4. Есть шаблоны калькуляторов для различных отраслей бизнеса: такси, ОСАГО, доставка пиццы, уборка помещений, праздники.
  5. На мой взгляд, лучший дизайн из всех сервисов в этой статье. Это касается и интерфейса админ-панели и виджетов.
  6. SMS/E-mail уведомления о новых заявках из калькулятора.

Слово «бесплатно» — одно из самых используемых на посадочной странице. Бесплатный тариф ограничен 100 E-mail уведомлениями, отсутствием возможности редактировать код калькулятора, присутствием копирайта и т.д.

В платном тарифе стоимость составляет $5 в месяц на один сайт. Интересно, что если вы готовы сразу заплатить $150, то эта сумма зачтётся за 5 лет, таким образом получается уже $2,5 в месяц. 7 дней дается на тестирование платной версии.

Calccreator.com

CalcCreator

Сalccreator.com – это настоящий drug-n-drop конструктор калькуляторов. Вам придется собирать виджет по кнопочкам, флажочкам и другим элементам. С 0, никаких шаблонов здесь нет. Потребуется выдержка и талант. Плюсом этого калькулятора для сайта можно назвать полную гибкость. Можно собирать варианты с любыми формами, слайдерами, выпадающими списками и т.д. При большом желании можно получить целый интернет-магазин. Дизайн прихрамывает на обе ноги.

Можно скачать получившийся код или вставить его на сайт через iframe. Этот сервис отлично подойдет разработчикам или веб-мастерам, которые хотят создавать для своих клиентов сложные конструкторы и передавать исходный код.

Есть 5 бесплатных проектов. Дальше 1 месяц будет стоить 795 руб, 3 месяца — 1390, 6 месяцев – 1810 руб.

BitCalc

BitCalc

Конструктор BitCalc, представляет сайт Bitronica.com.  Рекордсмен по сложности. Начиная с покупки, заканчивая настройкой.

Дизайна как такового нет. Но наиболее удобным признаётся выбор любого калькулятора прямо из имеющегося набора шаблонов, пока без привязки к конкретному сайту. Пользователь просто выбирает шаблон, указывает его параметры и «опускает в корзину». Таким образом, появляется возможность собрать целый пакет, который можно будет потом распределить по сайтам.

Любой созданный калькулятор имеет бесплатный начальный период использования – 14 дней. В дальнейшем устанавливается стоимость в 240 руб за месяц на один сайт. Протестировать виджет до принятия окончательного решения можно и бесплатно.

Есть дополнительные виджеты – форма заказа, всплывающее окно акции, подписка на рассылку, каталог продукции.

Web-forms.ru

Web-forms

 

Сервис от создателей CMS Webasyst. Данный конструктор ориентируется на реализацию форм любого назначения. Можно строить формы заказов, опросов, обратной связи.

В течение 14 дней любой виджет можно использовать бесплатно, далее аренда в месяц одного виджета на одном сайте – 659 рублей. Приобретение при неограниченном сроке использования и постоянной технической поддержке — 2999 руб.

gruzdevv.ru

Стилизуем все классы у калькулятора.

Добавим рамку у калькулятора border: 3px solid #b641b0 и отступы по бокам padding: 20px 20px.

Цена будет #price большими буквами и font-weight: bold.

У изображений card-pic img отключим видимость display: none, но изначально будет видна первая #card1 картинка визитки черно-белая односторонняя display: inline-block.

Отступ сверху будет как у калькулятора padding-top: 20px.

Класс form-control будет на всю ширину width: 100% и с рамкой синего цвета.

Код в main.sass.

Скрипт для калькулятора в common.js.

Вначале проверим изменялись ли значения select у элемента с классом calc $(.calc).change (function ().

Если одно из полей меняется применяем функцию.

Присваиваем переменной тираж $card значение select#card и вытаскиваем это значение функцией val ().

Также находим значение для типа бумаги $paper = $(select#paper).val ().

Какую цветность визитки выбрал покупатель, определим $color = $(select#color).val ().

Функция изменения картинки относительно выбора цветности.

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

Для каждого option у цветности создадим дата атрибуты data=1,2,3,4,5 в index.html.

В скрипте добавим переменную $color1, которая будет брать селект с идентификатором select#color, с выбранным option:selected на данный момент.

И у этого option достаем определенный атрибут командой attr (data).

Теперь проверим, если if переменная $color1 равна 1, то скрываем все картинки функцией $(.pic img).hide (), а первое изображение покажем $(#card1).show (slow).

Делаем по аналогии для других пяти изображений и проверяем в браузере.

Функция изменения картинки относительно выбора цветности

Напишем формулу расчета стоимости визитки.

  1. Стандартный формат визитки 9 на 5 сантиметров. Таких визиток на целый лист формата А3 поместится 30 штук $viz = 30, поэтому итоговый тираж будем делить на 30 $fin = $card / $viz.
  2. Теперь итоговый тираж умножим на цену за бумагу $price = $fin * $tb. Добавим атрибут к option у бумаги tb=9,18,21 в index.html это цена в зависимости от типа бумаги. Теперь в скрипте зададим переменную, которая вытащит атрибут attr (tb) из выбранного типа бумаги select#paper option:selected.
  3. Третий параметр, который влияет на цену это цветность, зададим атрибуты дата цены у option селекта с именем color. clpr=5,10,10,20,15 цена каждой цветности в index.html. В common.js переменная $clpr равна выбранной option, в select с идентификатором color и вытаскиваем атрибут attr (clpr).

Общая формула будет умножение атрибутов цены всех выбранных option $price = $fin * $tb * $clpr.

Для вывода стоимости тиража $(span#price).text ($price).

Код в common.js.

Напишем формулу расчета стоимости визитки.

sdelatlending.ru

В эпоху широчайшего развития бизнеса при помощи сети Интернет актуальным является создание JavaScript калькулятора для расчета стоимости товаров или услуг компании. В этой статье я распишу создание простейшего калькулятора для сайта по продаже линолеума.

Допустим имеется ситуация, когда копания продает один бренд линолеума. Для создания калькулятора на JavaScript потребуется узнать у пользователя длину и ширину для расчета площади помещения.

Создание формы для HTML для калькулятора

В первую очередь мы создаем форму, состоящую из двух полей для расчета площади.

Первое поле – ширина:

<input type=”text” id=”shirina” value=”” placeholder=”укажите ширину помещения”>

Такое же поле для длины:

<input type=”text” id=”dlina” value=”” placeholder=”укажите длину помещения”>

В оба поля мы добавляем идентификатор для того, чтобы наш скрипт мог легко получить введенные данные.

Добавляем кнопку расчета.

<button onClick=”raschitat()”>Рассчитать стоимость</button>

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

<div id="ploschad"></div>
<div id="stoimost"></div>

Объединим все в один код:

<h3>Расчет стоимости линолеума</h3>
<input type="text" id="shirina" value="" placeholder="укажите ширину помещения">
<input type="text" id="dlina" value="" placeholder="укажите длину помещения">
<button onClick="raschitat();">Рассчитать стоимость</button>
<div id="ploschad"></div>
<div id="stoimost"></div>

Создание JavaScript кода калькулятора

На следующем этапе нужно написать программный код для JavaScript калькулятора расчета стоимости.

Изначально нужно получить данные длины и ширины из формы.

shirina  = document.getElementById('shirina').value;
dlina  = document.getElementById('dlina').value;

Добавляем условие для проверки на пустое поле.

if(shirina == ""){
alert("Вы не указали ширину");
} else if(dlina == ""){
alert("Вы не указали длину");
}

Если все в порядке, то запускаем расчет.

else {
cena = 440;
ploschad = parseFloat (shirina)* parseFloat (dlina);
document.getElementById('ploschad').innerHTML = "Площадь равна: "+ ploschad +" кв. м.";
stoimost = ploschad*cena;
document.getElementById('stoimost').innerHTML = "Стоимость равна: "+ stoimost +" р.";
}

Далее все объединяем в один программный код.

<script type="text/javascript">
function raschitat() {
shirina  = document.getElementById('shirina').value;
dlina  = document.getElementById('dlina').value;
if(shirina == ""){
alert("Вы не указали ширину");
} else if(dlina == ""){
alert("Вы не указали длину");
} else {
cena = 440;
ploschad = parseFloat (shirina)* parseFloat (dlina);
document.getElementById('ploschad').innerHTML = "Площадь равна: "+ ploschad +" кв. м.";
stoimost = ploschad*cena;
document.getElementById('stoimost').innerHTML = "Стоимость равна: "+ stoimost +" р.";
}
}
</script>

Итак, мы получили простейший JavaScript калькулятор расчета стоимости для сайта. Это универсальный вариант, в котором рассчитывается цена исходя из площади помещения, включающая ее расчет исходя из ширины и длины. Все что вам нужно это скопировать данный код на свою страницу и прописать свою цену для переменной cena. Для его визуального оформления нужно воспользоваться CSS.

Как усовершенствовать калькулятор. Прежде всего в строку, где прописана переменная stoimost вы можете написать любую необходимую формулу расчета. Во-вторых можно добавлять еще параметры в зависимости от категории услуг или товаров.

Еще один вариант усложнения – это добавление, для данного примера, цвета линолеума. Для этого нужно в HTML код добавить поле выпадающего списка:

<select id="cvet">
<option value="serii">Серый</option>
<option value="geltii">Желтый</option>
<option value="goluboi">Голубой</option>
</select>

Все это мы подставим в HTML код, а в JavaScript добавим следующее:

cvet  = document.getElementById('cvet').value;
switch (cvet) {
   case "serii":
      cena = 440;
      break
   case "goluboi":
      cena = 480;
      break   
    case "geltii":
      cena = 380;
      break   
   default:
      cena = 440;
      break
}

Конечный программный код усовершенствованного калькулятора расчета стоимости:

<h3>Расчет стоимости линолеума</h3>
<select id="cvet">
<option value="serii">Серый</option>
<option value="geltii">Желтый</option>
<option value="goluboi">Голубой</option>
</select>
<input type="text" id="shirina" value="" placeholder="укажите ширину помещения">
<input type="text" id="dlina" value="" placeholder="укажите длину помещения">
<button onClick="raschitat();">Рассчитать стоимость</button>
<div id="ploschad"></div>
<div id="stoimost"></div>
<script type="text/javascript">
function raschitat() {
cvet  = document.getElementById('cvet').value;
switch (cvet) {
   case "serii":
      cena = 440;
      break
   case "goluboi":
      cena = 480;
      break   
    case "geltii":
      cena = 380;
      break   
   default:
      cena = 440;
      break
}
shirina  = document.getElementById('shirina').value;
dlina  = document.getElementById('dlina').value;
if(shirina == ""){
alert("Вы не указали ширину");
} else if(dlina == ""){
alert("Вы не указали длину");
} else {
ploschad = parseFloat (shirina)* parseFloat (dlina);
document.getElementById('ploschad').innerHTML = "Площадь равна: "+ ploschad +" кв. м.";
stoimost = ploschad*cena;
document.getElementById('stoimost').innerHTML = "Стоимость равна: "+ stoimost +" р.";
}
}
</script>

Если у вас возникли какие-либо вопросы, то пишите в комментариях.

webriz.ru

Что представляет собой онлайн-калькулятор

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

В основном необходимость калькулятора состоит в возможности произвести интересующие расчеты клиенту или посетителю, для принятия правильного решения. Все данные для расчета задаются при программировании и находятся в административной части. Простой калькулятор стоимости для сайта состоит из:

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

О применении и особенностях калькулятора для сайта

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

Основная роль онлайн калькуляторов – в получении потенциальным клиентом правильной и достоверной информации по расчету интересующего заказа, без дополнительных опросов и сбора сведений о клиенте. Когда используется калькулятор можно понять, что за данным продуктом обратился именно заинтересованный клиент, а не случайный посетитель. При использовании калькулятора на сайте следует учесть возможность связи  клиента с сотрудником компании, для  уточнения заказа или дополнительных вопросов. Положительный результат будет при максимально быстром ответе сотрудника и полном удовлетворении заданных вопросов, а также привлекательной и конкурентоспособной итоговой сумме на калькуляторе.

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

Как создать онлайн калькулятор для сайта

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

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

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

Использование FormDesigner

При применении конструктора FormDesigner можно быстро создать разного рода калькуляторы, с набором разных параметров и в разнообразном графическом стиле, конструктор имеет русскоязычный интерфейс с массой функций. Возможность редактирования текста  с помощью панели инструментов гораздо быстрее, чем в других сервисах. Гибкость системы  позволяет выполнять много функциональных и дизайнерских  операций. Но самая главная изюминка в сервисе – его быстрота, которая просто космическая и высококачественный от разработчика фидбек. Это значит, что все изменения калькулятора, который вы создаете для своего сайта, вы сразу же видите на мониторе своего компьютера. Это значит, что все изменения можно внести тут же. И сразу же увидеть, как это будет выглядеть на вашем сайте.

Создание онлайн калькулятора для сайта

Для создания калькулятора в конструкторе FormDesigner не требуется специальных знаний или установки дополнительных программ, просто нужно выбрать понравившийся шаблон, выполнить набор заданных данных, получив код, скопировать и установить готовый калькулятор в сайт. Можно проводить редактирование или вносить изменения в режиме реального времени, все данные  хранятся в  специальном блоке сервиса FormDesigner.ru. То есть если в будущем понадобится внести какие-то изменения в код калькулятора, достаточно будет зайти на сайт и в онлайн-режиме внести необходимые правки. Для подключения к системе  нужно войти в личный кабинет и выполнять заданную настройку  калькулятора следуя инструкции по настройке.

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

formdesigner.ru

Реализация:

HTML:

<div>  	<input value="10" type="number" id="chislo"> - сюда вводим число; <br /> <br /> <!-- id="chislo" - уникальный идентификатор, по нему мы будем обращаться, чтобы выцепить данные из поля -->  	  	<select id="spisok"> <!-- id="spisok" - уникальный идентификатор, по нему мы будем обращаться, чтобы выцепить данные из полей выбора -->  		<option value="1">1</option>  		<option value="2" selected>2</option> <!-- аттрибут selected отвечает за пункт, выбранный по умолчанию -->  		<option value="3">3</option> <!-- value = значения, которые соответствуют пунктам списка. -->  		<option value="4">4</option>  	</select> - умножим на это число; <br /> <br />  	  	<input type="radio" value="10" name="n2" checked> 10 <br /> <!-- обратите внимание, что у всех type="radio" должен быть одинаковый аттрибут name="n2", это позволяет объединить их в группу. Знакомый нам аттрибут value также содержит в себе значение, соответствующее данному пункту -->  	<input type="radio" value="20" name="n2"> 20 - прибавим одно из этих чисел<br />  	<input type="radio" value="30" name="n2"> 30 <br /> <br />   	  	<input value="2" class="checkbox" type="checkbox" checked> 2 <br />  	<input value="5" class="checkbox" type="checkbox"> 5 - разделим на эти числа <br />  	<input value="10" class="checkbox" type="checkbox"> 10 <br /> <br /> <!-- и снова в value пишем значение, соответствующее данному пункту -->     	<button onclick="Start();">Рассчитать!</button>	<br/> <br /> <!-- задаем выполнение функции Start при клике на кнопку -->  	  	<div style="font-weight:bold" id="result"></div> <!-- контейнер для вывода результатов -->  </div>

JavaScript:

<script>  	function Start(){  		var chislo = document.getElementById('chislo').value; //выцепляем значение value первого вводимого поля  		var spisok = document.getElementById('spisok').value; //выцепляем значение value множителя из списка  		  		var radios = document.getElementsByName('n2'); //определяем какой из пунктов выбран и запоминаем его value в переменную radio  		for (var i = 0; i < radios.length; i++) {  			if (radios[i].type == "radio" && radios[i].checked) {  			 	var radio = parseInt ( radios[i].value );  			}  		}  		  		var checkboxes = document.getElementsByClassName('checkbox'); //определяем какие из "галочек" выбраны и запоминаем их value в массив checkbox  		checkbox = []; // задаем пустой массив checkbox  		for (var i = 0; i < checkboxes.length; i++) {  			if (checkboxes[i].type == "checkbox" && checkboxes[i].checked) {  				checkbox[checkbox.length] = checkboxes[i].value;	//дописываем к массиву checkbox значение value, если оно выбрано	  			}  		}  		  		var result = chislo * spisok + 	radio; //элемент первого поля умножаем на значение из списка и прибавляем значение из следующего списка. Промежуточный результат сохраняем в result  		  		for ( var i = 0; i< checkbox.length; i++ ){ //последовательно в цикле делим промежуточный результат result на каждый из элементов массива checkbox (значения value отмеченных галочками пунктов)  			result = result / checkbox[i]; //и снова пишем в переменную result  		}  		  		document.getElementById('result').innerHTML = 'Результат: ' + result; //выводим получившееся значение в div с id="result"  	}  </script>

Скачать исходный код

way-on-top.ru

Пример простого калькулятора для сайта на PHP + JS

Итак, если вы решите сами создать калькулятор, то знайте, что овладеть хотя бы базовыми знаниями языков программирования JavaScript и PHP все же придется.

Лично я с JavaScript мало знаком поэтому покажу позаимствованную структуру построения самого простого калькулятора, который может складывать два числа и выводить конечный результат по запросу.

форма калькулятора на JavaScript

Форма счетчика будет создана с помощью тегов

<form> … </form>

Для реализации ввода значений используем теги <input>

Функция Onchange — убирает значения при добавлении их в форму.

Функция Onkeyup — убирает значения при добавлении их в форму кроме цифр.

Далее добавляем переменные в форму для тегов input, например, первое значение это латинская «x», второе вводимое значение в поле это латинская «y», а выходное значение это «summa».

Теперь чтобы форма заработала надо ее наделить разумом, то есть создать скрипт с помощью Java, который и будет вести расчеты.

Словом calculators можно изменить на любое, так как им мы даем только название функции.

А для x, y, z задаем переменные, которые были созданные ранее.

Далее переходим обратно к форме и для тега input задаем функцию, отвечающую за расчет значений.

Для этого добавляем в инпут команду onclick =»calculators (this.form)» которая и запустить алгоритма калькулятора.

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

Как установить калькулятор на сайт

Весь принцип работы калькулятора завязан на выполнении скрипта, поэтому каким-то из способов надо добавить скрипт на страницу записи WordPress.

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

В сети я нашел несколько путей как подключить JS скрипты к записям:

Шорткод. Данный способ основан на редактировании файла темы functions.php.

Здесь вам придется между < ?php … ? > вставить специальный код:

где вместо КОД вставляем свой скрипт, а для вызова шорткода на странице используем [ myJavascript1 ].

Функция wp_enqueue_script. С ее помощью можно подключить скрипт для конкретной страницы. Данный способ популярен, но требует больших знаний движка и его структуры.

Правка header.php. Один из наихудших методов, основанный на добавлении специального кода перед закрывающим тегом </ head> с номером страницы, в которой надо отобразить скрипт.

Конструкция iframe. Один из простейших способов, где надо создать новый файл и закинуть в него скрипт.

Далее загружаем этот файл к себе на хостинг, а в статье в том месте, где будет выводиться калькулятор размещаем код iframe, через который и будет отображаться содержимое из внешних файлов.

  • ссылка — адрес где расположен файл с готовым калькулятором;
  • параметры width и height — задают размеры формы;
  • параметр frameborder — присваивает толщину границы фрейма;
  • параметр scrolling — задает или убирает полосу прокрутки.

Лично я изначально вставлял калькулятор на блог последним способом, но этот метод стал неэффективным после появления мобильной версии сайта, так как выводимая форма не адаптирована под другие разрешения экранов.

В этом случае все равно приходится прибегать к помощи фрилансеров, я нахожу их за копейки в сервисе Kwork, чтобы они все подправили и вставили калькулятор в запись традиционным способом, а на хостинг отдельно загружается только сам скрипт.

пример кода калькулятора в записи блога

Но можно пойти и другим путем, об этом далее.

seoslim.ru

5 преимуществ разработки онлайн калькулятора для сайта

Обновляя сайт или заказывая «с нуля» хочется сделать что-то интересное, чтобы привлекло внимание заказчиков и, конечно же, повысило уровень продаж — онлайн-калькулятор под заказ – вот, что Вам нужно! Как калькулятор для сайта может сделать Вашу страничку реально продающей и постоянно интересной покупателям?

Предлагаем Вам ознакомится с пятью основными преимуществами разработки индивидуального онлайн-калькулятора под заказ.

1. Первое, что обеспечит разработка калькулятора — постоянный поток клиентов на сайт.

Почему это важно:

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

2. Второе:

Если разработка индивидуального онлайн-калькулятора выполняется под заказ, то калькулятор на сайте — уникальный сервис. Сайт становится не просто страничкой, на которой можно глянуть интересные картинки и прочитать информацию. Его значение изменяется моментально. С онлайн-калькулятором он уже незаменимое средство, упрощающее ежедневные расчеты для посетителей. Ваша страничка для заказчиков становится как родная, а значит, при необходимости, будьте уверены, что они обратится именно к Вам и, обязательно (абсолютно бескорыстно) порекомендует друзьям и знакомым. Не стоит забывать, что теперь сайт исполняет роль мощнейшего оружия для борьбы с конкурентами. Конкуренты нервно ищут способы Вас обойти, но – безуспешно!

Такой результат принесет разработка онлайн-калькулятора!

3. Третье:

Разработка онлайн-калькулятора под заказ помогает снизить расходы на рекламу. Страничка в интернете, как рекламный инструмент, может полноценно заменить менее эффективные (чаще, и более дорогие) рекламные площади.

4. Четвертое:

Создание калькулятора упрощает работу персонала. Специалисты по продажам смогут:

  • Сберечь время, которое они тратят на расчет стоимости для покупателей. Если клиента не устраивает цена, которую предоставил калькулятор на сайте, он не станет звонить и отвлекать менеджера.
  • Ускорить цикл заключения сделки, ведь покупатель, просчитавший цену с помощью разработанного калькулятора, позвонив вам, с ценой уже согласился. В продажах убеждение клиента в адекватности цены – не самый легкий этап.
  • Направить свои силы на изучение новых продуктов и технологий продаж. Даже таким образом создание калькулятора помогает увеличить число продаж.

5. Пятое:

Онлайн-калькулятор под заказ рассказывает (возможно, и показывает), из чего складывается цена на товар или услугу. Клиент понимает, что его не обманывают, видит, за что платит. Повышается доверие к фирме. Покупатель с удовольствием и позитивом с Вами сотрудничает. Повышается престиж компании – в Вашей компании ничего не скрывают от клиента, и он это обязательно оценит.
Важный момент – чтобы все свойства онлайн-калькулятора раскрыли себя на все 100%, калькулятор должен:

  • располагаться на самом видном месте. Не нужно прятать далеко удобный сервис, каждый посетитель его должен найти без труда
  • быть интуитивно понятным для любого из ваших клиентов. Стоит заметить, что Вы — специалист в своей области, а посетитель, который захочет воспользоваться калькулятором для сайта, совсем не обязательно.

И самое главное, просто необходимо связаться с нами и заказать разработку индивидуального онлайн-калькулятора под заказ!

Ведь если этого не сделать сейчас, то все вышеперечисленные выгоды от онлайн-калькулятора для сайта под заказ достанутся Вашим конкурентам!

Чтобы заказать калькулятор для своего сайта, свяжитесь с нами, используя форму обратной связи.

calc.by


You May Also Like

About the Author: admind

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.