2016-08-23 44 views
-1

我有这个脚本,我想输入一些动画为数,但我不知道如何解决这个问题。如何输入一些动画计算的数字?

$('#choose').change(function() { 
 
     if($(this).val() == '1') { 
 
     document.getElementById('harga').innerHTML = "5000"; 
 
     } 
 
     if($(this).val() == '2') { 
 
     document.getElementById('harga').innerHTML = "10000"; 
 
     } 
 
     if($(this).val() == '3') { 
 
     document.getElementById('harga').innerHTML = "30000"; 
 
     } 
 
})
<script type="text/javascript" src="https://code.jquery.com/jquery-2.2.4.min.js"></script> 
 
    <div class="harga" id="harga"> 5000 </div> 
 
    <select id="choose"> 
 
     <option value="1">choose 1</option> 
 
     <option value="2">choose 2</option> 
 
     <option value="3">choose 3</option> 
 
    </select>

+1

可以你澄清什么'一些动画'可能是 –

+0

你的意思是你想让用户看到'harga'元素' s值从其当前值向上或向下递增到新值,如已加速的数字时钟? (如果是这样,你想要动画需要多长时间?如果用户在前一个动画完成之前选择另一个值,该怎么办?)提示:一个基于'setTimeout()'的伪循环是实现类似的最简单的方法。 – nnnnnn

+0

你能写剧本吗,我还是很困惑你指导什么。 – Imam

回答

1

如果你的意思是动画作为计数器数向上或向下,

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="harga" id="harga"> 5000 </div> 
 
<select id="choose"> 
 
    <option value="1">choose 1</option> 
 
    <option value="2">choose 2</option> 
 
    <option value="3">choose 3</option> 
 
</select> 
 

 

 
<script type="text/javascript"> 
 
var options = {"1":5000,"2":10000,"3":30000,} 
 
var amount = options["1"]; //default 
 

 
$('#choose').change(function() { 
 
    selected_amount = options[$(this).val()]; 
 

 
    $({ Counter: amount }).animate({ Counter: selected_amount }, { 
 
    duration: 1000, //speed 
 
    easing: 'swing', 
 
    step: function() { 
 
     $('#harga').text(Math.ceil(this.Counter)); 
 
    }, 
 
    complete: function(){ 
 
     $('#harga').text(selected_amount); 
 
     amount = selected_amount; 
 
    } 
 
    }); 
 
    
 
}); 
 
</script>

+0

好的,非常感谢你帮助我。 :d – Imam

0
<script type="text/javascript"> 
$('#choose').change(function() { 
    if($(this).val() == '1') { 
    document.getElementById('harga').innerHTML = "5000"; 
    } 
    if($(this).val() == '2') { 
    document.getElementById('harga').innerHTML = "10000"; 
    } 
    if($(this).val() == '3') { 
    document.getElementById('harga').innerHTML = "30000"; 
    } 
}) 
</script> 

你可以把以下,使其淡出第一,那么在使用基本的jQuery褪色。否则,你可能会等使用Animate CSS

$("#harga").fadeOut(400,function(){ 
    $(this).html("5000").fadeIn(); 
}); 

<script type="text/javascript"> 
$('#choose').change(function() { 
    if($(this).val() == '1') { 

    $("#harga").fadeout(400,function(){ 
     $(this).html("5000").fadein(); 
    }); 
    //document.getElementById('harga').innerHTML = "5000"; 
    } 
    if($(this).val() == '2') { 
    document.getElementById('harga').innerHTML = "10000"; 
    } 
    if($(this).val() == '3') { 
    document.getElementById('harga').innerHTML = "30000"; 
    } 
}) 
</script> 

和...希望它有助于