setInterval不工作jquery

setInterval不工作jquery,jquery,Jquery,当我单击并按住下键时该值应持续减小,直到我mouseup或mouseleave。相反,我必须继续点击。这是jsfiddle 你的音程很好。但是,您不能在setInterval功能中处理number和newnumber 如果您添加类似于console.log('down')的内容然后查看浏览器的错误控制台,您可以看到您的setInterval正在重复执行 对于现有代码,您需要更改几行。请参见您需要将代码行放入interval函数中以提取数字 -或- 在间隔函数末尾设置number/newnumbe

当我单击并按住
下键时
该值应持续减小,直到我
mouseup
mouseleave
。相反,我必须继续点击。这是jsfiddle


你的音程很好。但是,您不能在
setInterval
功能中处理
number
newnumber

如果您添加类似于
console.log('down')的内容
然后查看浏览器的错误控制台,您可以看到您的
setInterval
正在重复执行


对于现有代码,您需要更改几行。请参见

您需要将代码行放入interval函数中以提取数字

-或-

在间隔函数末尾设置number/newnumber的值


请参阅。

乍一看,我没有发现明显的问题,尽管您确实在
if
语句中用
var
重新定义了相同的变量,但我确实想知道为什么您对mousedown使用
.live()
,而对mouseup和mouseleave使用
.bind()
$('#bid-down').live('mousedown',function() {

var button = $(this);
var number = $(this).parent('div').siblings('#bid-child-container-2').find('#bid-price').val();
var newnumber = number.split('.');


button.data('interval2', setInterval(function (){

var on = button.attr('data-on');

if(newnumber[0]==2 && newnumber[1]==5) {
    alert('Minimum Bid($2.50)');
    }

if(on==1) {
    if(newnumber[0]>2) {
        if(newnumber[1]==0) {
        var first = parseInt(newnumber[0])-1;    
        var second = 9;    
        }
    }

    if(newnumber[1]==0) {
    var first = parseInt(newnumber[0])-1;    
    var second = 9;
    }

    if(newnumber[1]>0) {
    var first = newnumber[0];    
    var second = parseInt(newnumber[1])-1;    
    }

    if(first==2 && second==5) {
    button.attr('data-on','0');
    }

    var finalnumber = first+'.'+second;
    button.parent('div').siblings('#bid-child-container-2').find('#bid-price').val(finalnumber);

}

}, 100));


}).bind('mouseup mouseleave', function() {

clearInterval($(this).data('interval2'));
});