Представьте, что я установил интервал

setInterval(function() {
    console.log("Hi");
}, 1000);

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

setInterval(function() {
        console.log("Hi");
    }, 1000 + Math.random() * 4000);

Он вызовет setInterval от 1 до 4 секунд

Теперь все, что мне нужно, это изменить значение целых чисел с помощью такого ползунка: https://jsfiddle.net/qetwstkb/

Я хочу управлять этими значениями с помощью ползунка. :) Не могу объяснить это лучше, я не носитель английского языка, извините. > _ <

1
Hiurako 17 Июл 2017 в 03:46
Ваш вопрос непонятен. 1) Вы хотите обновить переменную на основе ползунка или вы хотите создать ползунок на основе переменной? 2) У вас есть переменная random с одним значением, но вы говорите о двух значениях.
 – 
Chava Geldzahler
17 Июл 2017 в 04:20
Вам нужен ползунок с min: 5, max: 390 и переменной, которая обновляется в зависимости от значения ползунка, когда пользователь взаимодействует с ползунком?
 – 
Chava Geldzahler
17 Июл 2017 в 04:34
Вид. Я хочу сделать слайдер, который будет работать для изменения задержки, но для меня важно, чтобы на нем была случайная функция.
 – 
Hiurako
17 Июл 2017 в 04:37
5 и 390 для минимального и максимального значений являются фиксированными суммами. Что делать со случайным значением?
 – 
Chava Geldzahler
17 Июл 2017 в 04:45
Я отредактировал весь вопрос, надеюсь, теперь он понятен.
 – 
Hiurako
17 Июл 2017 в 04:54

1 ответ

Лучший ответ

Чтобы получить значения выбранного диапазона, вы можете использовать:

var min = $("#slider").slider("values")[0];
var max = $("#slider").slider("values")[1];

А чтобы выполнить функцию обратного вызова при изменении значений, используйте параметр slide.

Когда у вас есть значения, вы можете поместить их где угодно, включая функцию setInterval.

$(document).ready(function() {

$(function(){

  var update = function() {
    var min = $("#slider").slider("values")[0];
    var max = $("#slider").slider("values")[1];
    
     var i = setInterval(function() {
        console.log("Hi");
    }, min + Math.random() * max);
    
    return i;
  }
  
  var i;
  
  $("#slider").slider({
    values: [1000, 1750],
    min: 500,
    max: 3900,
    step: 0.1,
    slide: function (e, ui) {
      clearInterval(i);
      i = update();
    }
    
  });
  
});

});
<link href="https://code.jquery.com/ui/1.9.1/themes/black-tie/jquery-ui.css" rel="stylesheet"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js"></script>
<div id="slider"></div>
0
Chava Geldzahler 17 Июл 2017 в 05:50