Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #31 (permalink)  
Старый 27.04.2016, 15:51
fos fos вне форума
Аспирант
Отправить личное сообщение для fos Посмотреть профиль Найти все сообщения от fos
 
Регистрация: 26.04.2016
Сообщений: 40

Ссылка на jbin
Фигово сохранилось предыдущее..
Ответить с цитированием
  #32 (permalink)  
Старый 27.04.2016, 15:59
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

Сообщение от fos
профессор крутой!
я не умею пользоватся github и jsbin
ниже строки 12 и 18
$("#slider2").slider({  orientation: "vertical",
        value: 0,
        min: 0,
        max: steps2.length - 1,
        step: 1,
        range: "max",
        animate: "slow",
        slide: function(event, ui) {
            var Y = steps2[ui.value];
            $("#amount2").val(Y);
            $("#amount3").val(price[num][Y]);
            $("#olol").css({width : num * 3, height : Y*3})
        },
        change: function(event, ui) {
            var Y = steps2[ui.value];
            $("#amount2").val(Y);
            $("#amount3").val(price[num][Y]);
            $("#olol").css({width : num * 3, height : Y*3})

        }
    });
Ответить с цитированием
  #33 (permalink)  
Старый 27.04.2016, 16:10
fos fos вне форума
Аспирант
Отправить личное сообщение для fos Посмотреть профиль Найти все сообщения от fos
 
Регистрация: 26.04.2016
Сообщений: 40

Сообщение от рони Посмотреть сообщение
я не умею пользоватся github и jsbin
ниже строки 12 и 18
$("#slider2").slider({  orientation: "vertical",
        value: 0,
        min: 0,
        max: steps2.length - 1,
        step: 1,
        range: "max",
        animate: "slow",
        slide: function(event, ui) {
            var Y = steps2[ui.value];
            $("#amount2").val(Y);
            $("#amount3").val(price[num][Y]);
            $("#olol").css({width : num * 3, height : Y*3})
        },
        change: function(event, ui) {
            var Y = steps2[ui.value];
            $("#amount2").val(Y);
            $("#amount3").val(price[num][Y]);
            $("#olol").css({width : num * 3, height : Y*3})

        }
    });
Балин) Слов нет - одни эмоции. Я там столько строк по мануалам с разных сайтов понавтыкал... а тут одной строчкой все! я не одолею эту науку видимо Спасибо!!!
Ответить с цитированием
  #34 (permalink)  
Старый 28.04.2016, 14:48
fos fos вне форума
Аспирант
Отправить личное сообщение для fos Посмотреть профиль Найти все сообщения от fos
 
Регистрация: 26.04.2016
Сообщений: 40

По сути осталась последняя стадия (ну или предпоследняя)

код расчета стоимости при смене ползунка доделал с переменной 'obra'
var price = {
    30: {
        30: 905 + obra,
        40: 1095 + obra
    },
    40: {
        30: 1095 + obra,
        40: 1305 + obra,
        60: 1730 + obra
    },
и т.д.,
и добавил в хтмл селектор:
<select id="obra">
<option value="1250">Портрет "под масло"</option>
<option value="1250">В стиле GTA</option>
<option value="500">В стиле "Грандж"</option>
<option value="950">Поп-арт портрет</option>
</select>

Как сделать правильно функцию, чтобы при смене селектора в #amount3 выводило ценник с учетом ценника обработки?

нагуглил очередную длиннофункцию
obra = document.getElementById('obra').options[document.getElementById('obra').selectedIndex].value;;

и чую это бред получица..
Ответить с цитированием
  #35 (permalink)  
Старый 28.04.2016, 15:21
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

fos,
obra из price убрать, заменить инициализацию slider2 и добавить change для селекта.

$("#slider2").slider({  orientation: "vertical",
        value: 0,
        min: 0,
        max: steps2.length - 1,
        step: 1,
        range: "max",
        animate: "slow",
        slide: function(event, ui) {
            var Y = steps2[ui.value];
            $("#amount2").val(Y);
            var obra = +$("#obra").val();
            $("#amount3").val(price[num][Y]+obra);
            $("#olol").css({width : num * 3, height : Y*3})
        },
        change: function(event, ui) {
            var Y = steps2[ui.value];
            $("#amount2").val(Y);
            var obra = +$("#obra").val();
            $("#amount3").val(price[num][Y]+obra);
            $("#olol").css({width : num * 3, height : Y*3})

        }
    });
    $("#obra").on("change", function() {
    $("#slider2").slider("option", "value", 0);
})

и у вас без reverse неправильно формируются чёрточки для вертикального ползунка пост 27 строка 141
Ответить с цитированием
  #36 (permalink)  
Старый 28.04.2016, 15:40
fos fos вне форума
Аспирант
Отправить личное сообщение для fos Посмотреть профиль Найти все сообщения от fos
 
Регистрация: 26.04.2016
Сообщений: 40

Сообщение от рони Посмотреть сообщение
fos,
obra из price убрать, заменить инициализацию slider2 и добавить change для селекта.

$("#slider2").slider({  orientation: "vertical",
        value: 0,
        min: 0,
        max: steps2.length - 1,
        step: 1,
        range: "max",
        animate: "slow",
        slide: function(event, ui) {
            var Y = steps2[ui.value];
            $("#amount2").val(Y);
            var obra = +$("#obra").val();
            $("#amount3").val(price[num][Y]+obra);
            $("#olol").css({width : num * 3, height : Y*3})
        },
        change: function(event, ui) {
            var Y = steps2[ui.value];
            $("#amount2").val(Y);
            var obra = +$("#obra").val();
            $("#amount3").val(price[num][Y]+obra);
            $("#olol").css({width : num * 3, height : Y*3})

        }
    });
    $("#obra").on("change", function() {
    $("#slider2").slider("option", "value", 0);
})

и у вас без reverse неправильно формируются чёрточки для вертикального ползунка пост 27 строка 141
reverse я вернул, я сначала убирал эту строку - jsbin на это отрицание ругалось как на еррор, я убрал, чтобы ошибок в коде не было - запустил без строки и не понял сначала в чем косяк, а потом реверс шкалы2 узрел

По поводу obra - гигантское спасибо и если лс открыто - прошу ответить на сообщение, которое сейчас отправлю

Последний раз редактировалось fos, 28.04.2016 в 15:59.
Ответить с цитированием
  #37 (permalink)  
Старый 29.04.2016, 14:00
fos fos вне форума
Аспирант
Отправить личное сообщение для fos Посмотреть профиль Найти все сообщения от fos
 
Регистрация: 26.04.2016
Сообщений: 40

Вернемся к нашим баранам

имеется тотже селектор:
<select id="obra">
<option value="1250">Портрет "под масло"</option>
<option value="1250">В стиле GTA</option>
<option value="500">В стиле "Грандж"</option>
<option value="950">Поп-арт портрет</option>
</select>


И появился буттоны с id=obrpm, id=obrgta, id=obrgrng, id=obrpopart

Как сделать так, чтобы по клику на буттн id=obrpm - в селекторе выбирался пункт
<option value="1250">Портрет "под масло"</option>

при клике на id=obrgta выбирался пункт
<option value="1250">В стиле GTA</option>

и т.д.?
Ответить с цитированием
  #38 (permalink)  
Старый 29.04.2016, 14:43
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

fos,
заменить
$("#obra").on("change", function() {
    $("#slider2").slider("option", "value", 0);
    $(".but")[this.selectedIndex].checked = true
})


добавить
$(".but").on("click", function() {
    var i = $(".but").index(this);
    $("#obra")[0].selectedIndex = i;
    $("#obra").trigger("change")
})

<label>Портрет "под масло"<input name="obr" type="radio"  class="but" checked="checked"></label>
<label>В стиле GTA<input name="obr" type="radio"  class="but"></label>
<label>В стиле "Грандж"<input name="obr" type="radio"  class="but"></label>
<label>Поп-арт портрет<input name="obr" type="radio"  class="but"></label>

по желанию
label{
  display: block;
}
Ответить с цитированием
  #39 (permalink)  
Старый 29.04.2016, 14:55
fos fos вне форума
Аспирант
Отправить личное сообщение для fos Посмотреть профиль Найти все сообщения от fos
 
Регистрация: 26.04.2016
Сообщений: 40

Сообщение от рони Посмотреть сообщение
fos,
заменить
$("#obra").on("change", function() {
    $("#slider2").slider("option", "value", 0);
    $(".but")[this.selectedIndex].checked = true
})


добавить
$(".but").on("click", function() {
    var i = $(".but").index(this);
    $("#obra")[0].selectedIndex = i;
    $("#obra").trigger("change")
})

<label>Портрет "под масло"<input name="obr" type="radio"  class="but" checked="checked"></label>
<label>В стиле GTA<input name="obr" type="radio"  class="but"></label>
<label>В стиле "Грандж"<input name="obr" type="radio"  class="but"></label>
<label>Поп-арт портрет<input name="obr" type="radio"  class="but"></label>

по желанию
label{
  display: block;
}
Круто как всегда все коротко и ясно! Респект!
Ответить с цитированием
  #40 (permalink)  
Старый 09.02.2017, 17:18
Интересующийся
Отправить личное сообщение для Alena-stav Посмотреть профиль Найти все сообщения от Alena-stav
 
Регистрация: 09.02.2017
Сообщений: 10

Привет, Рони! Не могу понять, почему значение 2 ползунка сбрасываются на ноль при каждом движении 1 ползунка?
Ответить с цитированием
Ответ



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

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