Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 09.09.2015, 12:27
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,121

Сообщение от gabe
есть многомерный массив [ [1, 100], [101, 500], [501, 1000], [1001, 5000], [5001, 10000], [10000] ]
а скидка где?
Ответить с цитированием
  #12 (permalink)  
Старый 09.09.2015, 12:42
Интересующийся
Отправить личное сообщение для gabe Посмотреть профиль Найти все сообщения от gabe
 
Регистрация: 09.09.2015
Сообщений: 12

Сообщение от рони Посмотреть сообщение
а скидка где?
Скидка начинается со 2го массива там -0.2, на 3м = -0.4, 4м = -0.6, 5м = -0.8, 6м = -0.9...
Ответить с цитированием
  #13 (permalink)  
Старый 09.09.2015, 13:53
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от gabe
И при 105 клиентах надо, чтобы цена была не 104.8, а 104... то есть 105 - 0.2*5...
Ну так что определяет эту скидку - судя по примерам только крайние левые значения, но какой их диапазон?
У числа от 0 до "восьмерка на боку" можно получать крайние левые значения по маске и использовать. Но если это не закономерность, значит нужны и условия.
Ответить с цитированием
  #14 (permalink)  
Старый 09.09.2015, 14:01
Интересующийся
Отправить личное сообщение для gabe Посмотреть профиль Найти все сообщения от gabe
 
Регистрация: 09.09.2015
Сообщений: 12

Сообщение от laimas Посмотреть сообщение
Ну так что определяет эту скидку - судя по примерам только крайние левые значения, но какой их диапазон?
У числа от 0 до "восьмерка на боку" можно получать крайние левые значения по маске и использовать. Но если это не закономерность, значит нужны и условия.
Диапазона нету, они просто существуют как значение... При стольки столько... И вот к формуле этого расчета ни как не могу прийти... ;(
А определяет это все дело числа 101, 501, 1001, 5001 и 10001
То есть с этих значений и начинается новый расчет как -то так
Ответить с цитированием
  #15 (permalink)  
Старый 09.09.2015, 14:28
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от gabe
Диапазона нету, они просто существуют как значение...
и при этом 102 ступень, рассчитывается с 0.2, то есть нужно, чтобы на 102, оно отнимало не 0.2, а уже 0.4, на 103 - 0.6, на 104 - 0.8 и тп., то есть 0, 1, 2, 3, 4, Х?

У меня ступор, значит я не понимаю.
Ответить с цитированием
  #16 (permalink)  
Старый 09.09.2015, 14:37
Интересующийся
Отправить личное сообщение для gabe Посмотреть профиль Найти все сообщения от gabe
 
Регистрация: 09.09.2015
Сообщений: 12

Сообщение от laimas Посмотреть сообщение
и при этом 102 ступень, рассчитывается с 0.2, то есть нужно, чтобы на 102, оно отнимало не 0.2, а уже 0.4, на 103 - 0.6, на 104 - 0.8 и тп., то есть 0, 1, 2, 3, 4, Х?

У меня ступор, значит я не понимаю.
Ну смотри, за 1 еденицу $1
за 100 - $100,
за 101 - $100.8,
за 102 - $101.6,
за 103 - $102.4,
за 104 - $103.2,
за 105 - $104,
за 106 - $104.8,
за 107 - $105.6 и тп

Получается так, скидка за количество, чем больше количество, тем больше скидка, за каждое новое значение -0.2.
Я сам уже заебался, на листочке все прощеты сделал, правда с максимальными значениями, но с коде хз как
Ответить с цитированием
  #17 (permalink)  
Старый 09.09.2015, 15:13
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от gabe
за 107 - $105.6 и тп
Ну так что определяет каждое новое значение и есть ли предел этого значения? По примеру видно, что базовую скидку -0.2 нужно умножать на 0, 1, 2, 3 ... ? Или же может быть 199 и значит -0.2 * 99 ?
Ответить с цитированием
  #18 (permalink)  
Старый 09.09.2015, 17:13
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,121

gabe,
как будет расчёт для 600 ?
100 - 100 * 1 - 100
400 - 400 * 0.8 - 320
100 - 100 * 0.6 - 60
итого 480
так?
Ответить с цитированием
  #19 (permalink)  
Старый 09.09.2015, 17:50
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,121

gabe,
<!DOCTYPE html><html class=''>
<head><meta charset='UTF-8'><meta name="robots" content="noindex">
<link rel="canonical" href="http://codepen.io/Jonson/pen/MawGER" />

<link rel='stylesheet prefetch' href='//codepen.io/assets/reset/normalize.css'>
<script src='//codepen.io/assets/libs/prefixfree.min.js'></script>
<style class="cp-pen-styles">.sliderPrice {
  width: 500px;
  margin-top: 50px;
  margin-left: 50px;
}
.fa-user {
  position: absolute;
  top: 21px;
  right: 120px;
}
.mount {
  font: 400 18px Arial;
  background: none;
  border: 0;
  text-align: left;
  position: absolute;
  top: 17px;
  left: 0px;
}
.ui-slider {
  position: relative;
  text-align: center;
}
.ui-slider .ui-slider-handle {
  position: absolute;
  z-index: 2;
  width: 1.2em;
  height: 1.2em;
  cursor: default;
  -ms-touch-action: none;
  touch-action: none;
}
.ui-slider .ui-slider-range {
  position: absolute;
  z-index: 1;
  font-size: .7em;
  display: block;
  border: 0;
  background-position: 0 0;
}
.ui-slider.ui-state-disabled .ui-slider-handle,
.ui-slider.ui-slider.ui-state-disabled .ui-slider-range {
  filter: inherit;
}
.ui-slider-horizontal {
  height: .3em;
  background: blue;
  border-radius: 15px;
}
.ui-slider-horizontal .ui-slider-handle {
  top: -0.4em;
  margin-left: -0.6em;
  background: #3333ff;
  border-radius: 50%;
}
.ui-slider-horizontal .ui-slider-range-min {
  height: 100%;
  left: 0;
}
.ui-slider-horizontal .ui-slider-range-min {
  left: 0;
}
.ui-slider-horizontal .ui-slider-range-max {
  right: 0;
}
.ui-state-hover {
  background: blue;
}
.ui-state-active {
  width: 25px !important;
  height: 25px !important;
  top: -0.6em !important;
  border: 0;
  outline: none;
}
p {
  margin: 100px;
}
</style></head><body>
  <section class="sliderPrice">
    <i class="fa fa-user"></i>
    <label for="amount"></label>
    <input type="text" id="amount" class="mount" readonly>
</section>


<p></p>
<script src='//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js'></script>
<script src='//cdnjs.cloudflare.com/ajax/libs/jqueryui/1.11.2/jquery-ui.min.js'></script>
<script>
$(".sliderPrice").slider({
    value: 0,
    min: 0,
    max: 1e4,
    step: 1,
    slide: function(e, i) {
        for (var l = i.value, a = [
                [100, 1],
                [400, .8],
                [500, .6],
                [4000, .4],
                [4999, .2],
                [1, .1]
            ], r = 0, n = 0; n < a.length; n++) {
            if (l -= a[n][0], !(l > 0)) {
                r += (a[n][0] + l) * a[n][1];
                break
            }
            r += a[n][0] * a[n][1]
        }
        $(".mount").val(i.value + " - $" + r.toFixed(2))
    }
});
$('.mount').val('0' + ' - ' + '$' + $('.sliderPrice').slider('value'));

</script>
</body></html>

Последний раз редактировалось рони, 09.09.2015 в 18:06.
Ответить с цитированием
  #20 (permalink)  
Старый 09.09.2015, 17:57
Интересующийся
Отправить личное сообщение для gabe Посмотреть профиль Найти все сообщения от gabe
 
Регистрация: 09.09.2015
Сообщений: 12

Спасибо большое за помощь...
И разобрался и показали как...
СПАСИБО!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите доделать калькулятор расчета стоимости. mazaxaka jQuery 2 08.08.2012 16:14
при выборе элемента из списка появляется еще один список maratmm Элементы интерфейса 0 07.08.2012 17:06
глюк форума Gvozd Сайт Javascript.ru 11 18.03.2009 14:37
Еще один вопрос по setTimeout setInterval Хранитель Света Общие вопросы Javascript 5 12.03.2009 22:37
Еще один вариант плавно раскрывающегося дива (экспандер, спойлер) Alekson Ваши сайты и скрипты 0 23.12.2008 03:01