2013-10-22 52 views
-1

我有一个基本的滑块,显示用户根据他们当前从他们的音乐制作的销售量来保存多少钱。我想添加一个IF语句,其中说:“如果滑块值低于300年销售额,回声£0储蓄”。如何将IF语句添加到此JavaScript代码?

我目前使用的代码有一个线性计算每100个销售额£5节省(data.value/20)。代码如下:

<form action="#"> 
    <input id="one" type="text" data-slider="true" value="100" data-slider-highlight="true" data-slider-step="50" data-slider-snap="true"> 
    <span class="output"></span> 
</form> 

<script> 
    $("[data-slider]") 
     .each(function() { 
      var input = $(this); 
     }) 
     .bind("slider:ready slider:changed", function (event, data) { 
      $(this).nextAll(".output:first").html(data.value.toFixed(0)); 
     }); 
    $("#one").bind("slider:changed", function (event, data) { 
     $(".distributor span").text("£" + data.value/20) 
    }); 
</script> 

关于如何添加IF语句的任何想法?

回答

1

假设我有你的代码的正确部分:

$("#one").bind("slider:changed", function (event, data) { 
    var 
     dataValue = data.value, /* Store data.value in a variable */ 
     value = dataValue < 300 /* Check if our variable's value is below 300 */ 
       ? 0    /* If it is, set value to 0 */ 
       : dataValue/20 /* Otherwise set value to dataValue/20 */ 
    ; 

    $(".distributor span").text("£" + value) 
}); 

这将使用conditional (or ternary) operator这决定了我们到底“值”变量的值应该是什么。

+0

不应该是'data.value <300吗? 0:data.value/20'而不是? – h2ooooooo

+0

@ h2ooooooo它可能是,但是@James Donnelly已经将值赋给了'dataValue'变量,这是所有的。 – philreed

+0

@ h2ooooooo正是上面说的@philreed。我已经将它分配给一个单独的变量,以免不必要地多次从'data'对象中拉取'value'属性,并且2.不必要地多次执行分割。 –

0
$("#one").bind("slider:changed", function (event, data) { 
    if(data.value>300){ 
    $(".distributor span").text("£" + data.value/20)} 
    else{$(".distributor span").text("£ 0") 
    } 
});