javascript - 当条件为真时保持选项禁用

标签 javascript jquery

我有一个包含多个选项的选择。每个选项都来自一个数据库,其中我还有上次使用该选项的时间戳。如果在过去 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 > 30 then .attr('disabled',false)?

最佳答案

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

item = $(this);

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

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

关于javascript - 当条件为真时保持选项禁用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29744889/

相关文章:

javascript - 如何将输入的值插入到JS中的另一个输入?

javascript - 在 jQuery 中模拟 iPhone 联系人列表标题样式

jquery - 标题部分始终位于网站顶部

javascript - 使用 HTML5 播放器时使用 Javascript 更改 Youtube 视频

javascript - 将 JavaScript 函数应用于元素的父级

javascript - 从接口(interface)以编程方式创建 Typescript 用户定义的类型保护

javascript - 我可以只用 HTML5 实现这个功能吗?

javascript - 如何从包含字符串的对象中构建数组?

javascript - 谷歌散点图只连接几个点

php - 使用php发送文件