![]() |
Модераторы: Sardar, Aliance |
![]() ![]() ![]() |
|
leema88t |
|
|||
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 20.8.2015 Репутация: нет Всего: нет |
Здравствуйте! Кто может помочь, я только учусь.
Возникла задача написать простенький калькулятор для сайта продающего печать на фотообоях. Чтоб клиент вводил высоту и ширину стены для фотообоев в квадратных метра, выбирал материал и итог - выводилась цена, но уже в погонных метрах, т.к. у каждого материала разные погонные метры. Я нашел подходящий скрип, подпилил под нужды, но не могу сделать, чтоб квадратные метры переводились в погонные для каждого материала, когда пользователь кликал на нужный ему материал. Вот код, может кто подскажет как это сделать? 01 <section class="section"> 02 <div class="container"> 03 <p class="h1 text-center">Калькулятор расчета стоимости услуг</p> 04 <div class="small-line"></div> 05 <div class="row price"> 06 <div class="col-md-4 col-md-offset-4"> 07 <div class="list-group calculator"> 08 <div class="list-group-item name-price"><h3>Стоимость печати</h3></div> 09 <div class="list-group-item box-price"> 10 <div class="box-filter" data-price="1000"> 11 <div class="form-group"> 12 <label>Площадь фотообоев</label> 13 <div class="row"> 14 <div class="col-md-4" style="padding-top: 14px;">В метрах:</div> 15 <div class="col-md-3"><input type="text" name="roof" class="form-control" id="roof" value="" placeholder="0"> ш</div> 16 <div class="col-md-3"><input type="text" name="roof1" class="form-control" id="roof1" value="" placeholder="0"> в</div> 17 </div> 18 </div> 19 <div class="form-group"> 20 <label>Материал</label> 21 <ul class="parametrs" id="pol"> 22 <li class="label label-default" data-param="1">Бумажные фотообои с ПВХ покрытием (текстура "под иней")</li> 23 <li class="label label-default" data-param="1.1">Бумажные фотообои с ПВХ покрытием (текстура "под древний папирус")</li> 24 <li class="label label-default" data-param="1.2">Бумажные фотообои с ПВХ покрытием (текстура "под текстиль")</li> 25 <li class="label label-default" data-param="1.4">Бумажные фотообои с ПВХ покрытием (текстура "живопись маслом")</li> 26 <li class="label label-default" data-param="1">Бумажные фотообои с ПВХ покрытием (текстура "песок")</li> 27 <li class="label label-default" data-param="1">Бумажные фотообои с ПВХ покрытием (текстура "лен")</li> 28 <li class="label label-default" data-param="1">Бумажные фотообои с ПВХ покрытием (текстура "влажная штукатурка")</li> 29 <li class="label label-default" data-param="1">Бумажные фотообои с ПВХ покрытием (текстура "штукатурка")</li> 30 <li class="label label-default" data-param="1">Бумажные фотообои с ПВХ покрытием (текстура "мелкий песок")</li> 31 <li class="label label-default" data-param="1">Бумажные фотообои с ПВХ покрытием (текстура "гладкая")</li> 32 </ul> 33 <ul class="parametrs" id="fliz"> 34 <li class="label label-default" data-param="1">Флизелиновые фотообои (текстура "венецианская штукатурка")</li> 35 <li class="label label-default" data-param="0.95">Флизелиновые фотообои (текстура "штукатурка")</li> 36 <li class="label label-default" data-param="1.15">Флизелиновые фотообои (текстура "штукатурка")</li> 37 <li class="label label-default" data-param="1.2">Штукатурка с покраской</li> 38 </ul> 39 </div> 40 41 42 </div><!-- /.box-filter --> 43 </div> 44 <div class="list-group-item footer-price"> 45 <button type="button" class="btn-outlined btn-lg btn-default price-button">Рассчитать стоимость</button> 46 </div> 47 </div> 48 </div> 49 </div> 50 </div> 51 </section> 01 $(document).ready(function () { 02 03 04 $('.price-button').click(function() { 05 var boxPrice = $(this).closest('.col-md-4'); 06 07 function hideButton () { 08 $(boxPrice).find('.price-button').hide(); 09 $(boxPrice).find('.footer-price').append('<h4>Итог: <span class="cur"></span> <span class="rub">р. </span></h4>'); 10 11 }; 12 13 $(boxPrice).find('.box-price').animate({height: '550px'}, {'duration': 500}, {'easing': 'linear'}, hideButton()); 14 15 }); 16 17 18 $('ul.parametrs li').click(function() { 19 var listParam = $(this).closest('ul.parametrs'); 20 $(listParam).find('li.check-param').removeClass('check-param'); 21 var elemParam = $(this); 22 $(elemParam).addClass('check-param'); 23 24 var elemAttr = $(elemParam).attr('data-param'); 25 }); 26 27 28 function valParam () { 29 var Price = $('.box-filter').attr('data-price'); 30 var roofValue = $('#roof').val(); 31 var roofValue1 = $('#roof1').val(); 32 var roofValue2 = roofValue * roofValue1; 33 34 var paramValuePol = $('#pol').find('li.check-param').attr('data-param'); 35 var paramValueSteny = $('#steny').find('li.check-param').attr('data-param');/ 36 37 if ($.isNumeric(roofValue2)) { 38 if (!$.isNumeric(roofValue2)) roofValue2 = 1; 39 if (!$.isNumeric(paramValuePol)) paramValuePol = 1; 40 if (!$.isNumeric(paramValueSteny)) paramValueSteny = 0; 41 42 var total = Price * roofValue2 * paramValuePol + paramValueSteny;//формула расчета общей стоимости 43 var newTotal = Math.round(total);//округление 44 $('.cur').html(newTotal); 45 $('.rub').show(); 46 }; 47 48 }; 49 50 $('.calculator').on('click keyup', valParam); 51 52 }) Например у флизилиновых обоев погонный метр 0,75, а у ПВХ 1,3 Вот примерная формула = Ширина/ширина материала*высота(высота в метрах квадратных)*цена. |
|||
|
||||
Urfin |
|
|||
Новичок Профиль Группа: Участник Сообщений: 40 Регистрация: 27.10.2006 Где: хохляндия Репутация: нет Всего: 1 |
погонный метр - это 1 м в длину. Что вы грабли себе придумываете?
Этот ответ добавлен с нового Винграда - http://vingrad.com |
|||
|
||||
leema88t |
|
|||
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 20.8.2015 Репутация: нет Всего: нет |
Погонный метр в материалах для фотообоев это например ширина 1.3 длина 1м. (ширина*длину)
|
|||
|
||||
ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 48 Всего: 386 |
leema88t, Есть сайт jsfiddle.net. На нем можно проверить код, совместно html, css и javascript, как оно работает. Если что-то не удалось - можно "сохранить" результат и бросить сюда ссылку - `Вот тут не работает...`.
На этом сайте, при оформлении сообщения, есть возможность оформить текст как код. Переоформи свое исходное сообщение, иначе разумного ответа, вероятно, дождаться не получится... -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! ![]() |
|||
|
||||
Shark |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 703 Регистрация: 18.6.2006 Где: Москва Репутация: нет Всего: 4 |
Мне делать было нечего и я сделал оформление за него:
HTML
JS (Jquery)
но вот Вопрос: Какой библиотекой jQuery Вы пользуетесь? То, что Вы скинули, не рабочий код, т.к. не указана, как минимум, библиотека?! UPD: Код отформатированный находится по >> этой << ccылки Это сообщение отредактировал(а) Shark - 24.8.2015, 18:41 |
||||
|
|||||
ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 48 Всего: 386 |
вот?
-------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! ![]() |
|||
|
||||
leema88t |
|
|||
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 20.8.2015 Репутация: нет Всего: нет |
"https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"
Библиотека вот эта |
|||
|
||||
ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 48 Всего: 386 |
А по этой ссылке, значит, все понятно? Это сообщение отредактировал(а) ksnk - 26.8.2015, 13:48 -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! ![]() |
|||
|
||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | JavaScript: для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |