2015-06-18 4 views
0

Я использую слайдер jquery UI, и я хочу вернуть результаты из нескольких слайдеров, чтобы я мог выполнить вычисление.JQuery слайдер виджет получить значение и полный расчет

Это то, что у меня есть до сих пор, но я изо всех сил стараюсь получить какие-либо результаты вне функции.

$(function() { 
    var x 
    $("#slider4").slider({ 
     value: 1, 
     min: 0, 
     max: 50, 
     step: 5, 
     slide: function(event, ui) { 
      $("#items").val("$" + ui.value); 

     } 

    }); 
    $("#items").val("$" + $("#slider4").slider("value")); 

}); 

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

var z = x * y; 

ответ

0

Это проблема с объемом.

, если у вас есть:

function foo() { 
    var x = 1; 
} 

затем x могут быть доступны только внутри foo. Это также относится к встроенным анонимным функциям, например, для готового документа jquery.

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

function slider4value() { 
    return $("#slider4").slider("value"); 
} 

var z = slider4value() * slider5value(); 

или, более обобщенно:

function sliderValue(slider) { 
    return $(slider).slider("value"); 
} 

var z = sliderValue("#slider4") * sliderValue("#slider5"); 

Альтернативой является использование глобальных переменных, но это не рекомендуется например,

<script> 
    var x; 
    var y; 
    $(function() { 
     x = 1; 
     y = 2; 
    } 

    function calc() { 
     var z = x * y; 
    } 
</script> 
+0

спасибо за это, это имеет смысл и действительно помогает. я реализовал выше, но я получаю slider4 ошибки не определен вот мой код 'код $ (функция slider4value() { возвращения $ ("# slider4") слайдер ("значение");. }); var z = slider4value(); console.log (z); ' – rob

Смежные вопросы