jQuery Slider调用另一个函数

时间:2014-01-09 20:38:14

标签: javascript jquery

我是jQuery滑块的新手,所以请耐心等待我!

我想根据滑块值使用不同的输入调用我的updateData(input)函数,但是发现当我使用if语句时,它只允许一个条件:

<div id="slider"></div>

<script>
$('#slider').slider({
    orientation: 'horizontal',
    step: 5,
    value: 0,
    animate: true,
    slide: function(event, ui) {
        if(ui.value > 50){
            updateData("data/commodities3.json")
        }
        else if(ui.value > 75){
            updateData("data/commodities2.json")
        }
    }
});
</script>

如何实现这一点的任何建议将不胜感激。感谢。

3 个答案:

答案 0 :(得分:1)

您的问题与您如何定义条件有关。显然,如果你先捕获50以上的所有内容,那么就不会遇到检查其他条件的麻烦。

首先检查最大数字将解决此问题:

if (ui.value > 75) {
    updateData("data/commodities2.json")
} else if (ui.value > 50) {
    updateData("data/commodities3.json")
}

答案 1 :(得分:0)

如果我理解正确,我认为您需要重新格式化if语句。

正如您目前所拥有的那样,else if语句将永远不会被执行,因为任何值&gt; 75也是> 50。

我想你想要这样的东西:

if (ui.value > 75) { DO SOMETHING }
else if (ui.value > 50) { DO SOMETHING ELSE }

答案 2 :(得分:0)

@mtaube,@ joelrobichaud,感谢您的帮助,我设法结合您的答案弄明白了!

<slidertitle>Pages</slidertitle>
      <div id="slider"></div>


    <script>
    $('#slider').slider({
      orientation: 'horizontal',
      step: 5,
      value: 0,
      animate: false,
      change: function(event, ui) {
       if (ui.value > 75) {
        updateData("data/commodities3.json")
        }
          else if(ui.value > 50){
           updateData("data/commodities2.json")   
          }

      }
    });


    </script>