Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery旋钮动画-如何停止一路走到最大值_Javascript_Jquery_Jquery Knob - Fatal编程技术网

Javascript jQuery旋钮动画-如何停止一路走到最大值

Javascript jQuery旋钮动画-如何停止一路走到最大值,javascript,jquery,jquery-knob,Javascript,Jquery,Jquery Knob,我有下面的代码,工作得很好-但是我需要动画停止在值,而不是最大值。目前,它一直到最大值,并没有停止在旋钮的值。有什么想法吗 jQuery(document).ready(function($) { $('.dial').val(0).trigger('change').delay(0); var myColor = 'red'; $(".dial").knob({ 'min':0, 'max':100, 'readOnly': true, 'w

我有下面的代码,工作得很好-但是我需要动画停止在值,而不是最大值。目前,它一直到最大值,并没有停止在旋钮的值。有什么想法吗

jQuery(document).ready(function($) {
    $('.dial').val(0).trigger('change').delay(0);
var myColor = 'red';  
    $(".dial").knob({
    'min':0,
    'max':100,
    'readOnly': true,
    'width': 120,
    'height': 120,
    'fgColor': '#333',
    'dynamicDraw': true,
    'thickness': 0.2,
    'tickColorizeValues': true,
    'skin':'tron'
})
        var tmr = self.setInterval(function(){myDelay()},50);        
        var m = 0;       
        function myDelay(){
            m += 1;
            switch(m)
            {
            case 40:
                  myColor = 'yellow';
              break;
            case 70:
                  myColor = 'green';
              break;                    
            case 100:
              window.clearInterval(tmr);
              break;
            }            
            $('.dial').trigger('configure', {'fgColor':myColor}); 
            $('.dial').val(m).trigger('change');
        }               
});

您可以在document.ready中的变量中存储atrting值

然后可以检查interval函数中的值,如果其值大于起始值,则停止更新控件

代码:


演示:

谢谢您的支持,但我并不想让它正常工作。设置最大值不是问题,但设置值是有问题的。如果在你的版本中,最大值是80,但值是60,我需要它在60停止动画。不确定我在最初的帖子中是否正确地解释了自己。谢谢你的帮助。是的,我的帖子写错了,现在编辑,很抱歉。太好了,冠军!谢谢。
var maxVal = 0;
jQuery(document).ready(function ($) {
    maxVal = $('.dial').val();
    $('.dial').val(0).trigger('change').delay(0);
    var myColor = 'red';
    var knob = $(".dial").knob({
        'min': 0,
            'max': 100,
            'readOnly': true,
            'width': 120,
            'height': 120,
            'fgColor': '#333',
            'dynamicDraw': true,
            'thickness': 0.2,
            'tickColorizeValues': true,
            'skin': 'tron'
    });
    var tmr = self.setInterval(function () {
        myDelay();
    }, 50);
    var m = 0;

    function myDelay() {
        m += 1;
        if (m > maxVal) {
            window.clearInterval(tmr);
            return;
        }
        switch (m) {
            case 40:
                myColor = 'yellow';
                break;
            case 70:
                myColor = 'green';
                break;
            case 100:
                window.clearInterval(tmr);
                break;
        }
        $('.dial').trigger('configure', {
            'fgColor': myColor
        });
        $('.dial').val(m).trigger('change');
    }
});