条件为真时保持选项禁用

时间:2015-04-20 10:07:11

标签: javascript jquery

我有一个选择有几个选项。每个选项都来自一个db,其中我也有一个时间戳,表示上次使用该选项的时间戳。如果在过去30秒内使用该选项,我想保留该选项。我不知道如何处理这种情况:我打开页面并禁用一个选项:例如该选项已在15秒前使用过。 15秒后,应再次启用该选项。 到目前为止,我的代码只处理了这个案例的第一部分:

var ds = "<?php echo $myPage['lastmsg']; ?>"; 
var dateArray = ds.split(" ");  // split the date and time 
var ds1 = dateArray[0].split("-"); // split each parts in date
var ds2 = dateArray[1].split(":"); // split each parts in time
var newDate = new Date(ds1[0], (+ds1[1] - 1), ds1[2], ds2[0], ds2[1], ds2[2]).getTime(); //parse it
var currentDate = new Date().getTime();
var diff = currentDate - newDate;
if(diff < 30){
    $(this).attr('disabled',true);
}

怎么说:如果diff BECOMES&gt;显示页面。 30然后.attr('禁用',假)?

2 个答案:

答案 0 :(得分:2)

只需在给定时间后运行功能即可改变状态。

item = $(this);

if(diff < 30){
    item.attr('disabled', true);

    setTimeout(function() {
     item.attr('disabled', false);
    }, (30-diff)*1000);
}

答案 1 :(得分:0)

我认为这就是你要找的东西:

if(diff < 30){
    $(this).attr('disabled',true);
}
else{
    $(this).removeAttr('disabled');
}

现在,如果它没有被禁用,它将始终被启用。

相关问题