NoUIslider - объединение выходных значений для создания HTML

Я использую 3 noUISliders. Я хочу объединить выходные данные 3 ползунков для создания вывода HTML. В частности, я хочу использовать комбинацию, чтобы выбрать файл изображения (т.е. img135.jpg), где 1 - это вывод с первого ползунка, 3 - со второго, а 5 - с третьего. У меня 27 изображений - я хочу иметь возможность выбрать одно из них на основе комбинированного вывода 3 ползунков ( 111.jpg, 211.jpg, 311.jpg и т. Д. До 555.jpg).

У меня есть три ползунка, обеспечивающие вывод:

var slider1 = document.getElementById('slider1');

noUiSlider.create(slider1, {
  start: 1,
  connect: 'lower',
  orientation: 'horizontal',
  range: {
    'min': 1,
    'max': 5
  },
  snap: true,
  format: wNumb({
    decimals: 0
  })
});



var sliderOutput1 = document.getElementById('value-slider1');

slider1.noUiSlider.on('update', function(values, handle) {
  sliderOutput1.innerHTML = values[handle];
});


var sliderOutput2 = document.getElementById('value-slider2');

slider2.noUiSlider.on('update', function(values, handle) {
  sliderOutput2.innerHTML = values[handle];
});


var sliderOutput3 = document.getElementById('value-slider3');

slider3.noUiSlider.on('update', function(values, handle) {
  sliderOutput3.innerHTML = values[handle];
});


var image_path = 'img' + sliderOutput1.val() + sliderOutput2.val() + sliderOutput3.val() + '.jpg';

("#img").html(image_path);
<div id="slider1"></div>
<div id="slider2"></div>
<div id="slider3"></div>


<span id="value-slider1"> </span>
<span id="value-slider2"> </span>
<span id="value-slider3"> </span>

<div id="img"></div>

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

кругозор

1 ответ

Вы можете сделать это намного интереснее, но простой шаблон, подобный следующему, подойдет:

function updatePicture() {
    var image_path = 'img' + sliderOutput1.val() + sliderOutput2.val() + sliderOutput3.val() + '.jpg';

    // I assume the missing $ was a typo
    $("#img").html(image_path);
}

slider1.noUiSlider.on('update', function(values, handle) {
  sliderOutput1.innerHTML = values[handle];
  updatePicture();
});


var sliderOutput2 = document.getElementById('value-slider2');

slider2.noUiSlider.on('update', function(values, handle) {
  sliderOutput2.innerHTML = values[handle];
  updatePicture();
});


var sliderOutput3 = document.getElementById('value-slider3');

slider3.noUiSlider.on('update', function(values, handle) {
  sliderOutput3.innerHTML = values[handle];
  updatePicture();
});

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

Кстати, интересная библиотека слайдеров, я никогда не видел ее раньше!

Другие вопросы по тегам