Показать сообщение отдельно
  #20 (permalink)  
Старый 25.09.2017, 23:24
Профессор
Отправить личное сообщение для the_little Посмотреть профиль Найти все сообщения от the_little
 
Регистрация: 25.09.2017
Сообщений: 186

В целом все понял.
А вот это
fn()
что делает? Отправляет значение в функцию fn()?

Я немного добавил арифметики, и еще пару элементов в массив.
Считает все правильно, но при загрузке страницы, пока ползунок не подвигаешь - ничего не выводит. Подвигаешь - все правильно считает.
$(function() {
    var arr = [0, 0, 0, 0];

    function fn() {
        $("#contentSlider").html(addSpaces(arr[0]));
        $("#contentSlider2").html(arr[1]);
        $("#calc-summ").html(addSpaces(arr[2]));
        $("#calc-market").html(addSpaces(arr[2] * 1.2));

        if (arr[0] <= 1000000 && arr[1] <= 12)
		{
			arr[2] = 3000;
		}
		else 
		{
			arr[2] = arr[0] * arr[1] / 12 * 1.5 / 100;
		}
    }
    $("#slider").slider({
        range: "min",
        value: 5E7,
        min: 1E5,
        max: 1E8,
        step: 1E5,
        slide: function(event, ui) {
            arr[0] = +ui.value;
            fn()
        },
        change: function(event, ui) {
            arr[0] = +ui.value;
            fn()
        }
    });
    $("#slider").slider("option", "value", 5E7);

    function addSpaces(nStr) {
        nStr += "";
        x = nStr.split(".");
        x1 = x[0];
        x2 = x.length > 1 ? "." + x[1] : "";
        var rgx = /(\d+)(\d{3})/;
        while (rgx.test(x1)) x1 = x1.replace(rgx,
            "$1" + " " + "$2");
        return x1 + x2
    }
    $("#slider2").slider({
        range: "min",
        value: 24,
        min: 1,
        max: 80,
        step: 1,
        slide: function(event, ui) {
            arr[1] = +ui.value;
            fn()
        },
        change: function(event, ui) {
            arr[1] = +ui.value;
            fn()
        }
    });
    $("#slider2").slider("option", "value", 24)
});
Ответить с цитированием