jquery相当于javascript interval函数

时间:2015-10-20 01:08:29

标签: javascript jquery

我有这个javascript函数 function addTenPercent(){         var bar = document.getElementById(" progressBar");         setInterval(addTenPercent,5000);         bar.value + = 10; }; 我试图将它包含在我的jquery if else语句中,但没有运气 $('#form1的')。提交(函数(E){         if($ .trim($(' #store')。val())==="" || $ .trim($(' #store&#39 ;)。val())==="输入商店编号'(nnnn)'"){                 e.preventDefault();                 提醒('请输入商店编号');         }         其他{                 的setInterval(函数(){                 $('#progressBar')。val()+ = 10;                 },5000);         } }); 有人可以帮助指出我在将所述javascript转换为jquery时出错了吗?

2 个答案:

答案 0 :(得分:1)

$('#progressBar').val() += 10;似乎没有设置,重置元素的value

.val()返回element的值; += 10未在元素上调用.val()的参数。

要设置元素的value,可以使用

$('#progressBar').val( $('#progressBar').val() += 10 );

或使用.val(function(index, value) {})

尝试替换

$('#progressBar').val(function(_, v) {
  return v += 10
})

$('#progressBar').val() += 10;

答案 1 :(得分:1)

.val()返回元素的当前值,您无法通过引用修改该值。 guest271314的答案可行,但由于无论如何缓存jQuery选择都是好的做法,我建议采用以下解决方案:

var progressBar = $('#progressBar')[0];
setInterval(function () {
    progressBar.value += 10;
}, 5000);

请注意progessBar是一个原始DOM元素,而不是jQuery对象,progressBar.value 是通过引用访问的。