为了账号安全,请及时绑定邮箱和手机立即绑定

如何重新开启计时器 看一下代码 如何在oTxt.onblur 中重新开启上面的计时器

如何重新开启计时器 看一下代码 如何在oTxt.onblur 中重新开启上面的计时器

慕后端2871187 2017-06-20 10:44:57
var oTxt = document.getElementById("form_txt"); var val = ["车载手机支架","华硕笔记本","恒温条奶器","苏泊尔电磁炉","美的电压锅","摄影仪家用","小米手机"]; var time1 = null; var i=1; oTxt.value = val[0]; time1 = setInterval(function setVal(){ if(i>=val.length){ i=0; oTxt.value = val[0]; i++; }else{ oTxt.value = val[i]; i++; } },3000); oTxt.onfocus = function(){ clearInterval(time1); oTxt.value = ""; oTxt.style.color = "rgb(51,51,51)"; } oTxt.onblur = function(){ clearInterval(time1); if(oTxt.value==""){ oTxt.value = val[i];?????? oTxt.style.color = "rgb(153,153,153)"; } }
查看完整描述

3 回答

?
风起临冬

TA贡献5条经验 获得超1个赞

定义一个变量用来存放setInterval返回的结果,然后封装一个定时器方法,每次clearInterval完这个变量后,再执行这个方法就行了

查看完整回答
反对 回复 2019-04-16
?
小羊杨

TA贡献24条经验 获得超44个赞

这位平时写代码 也不缩进 的嘛?

查看完整回答
反对 回复 2017-07-05
?
李晓健

TA贡献1036条经验 获得超461个赞

var oTxt = document.getElementById("form_txt");
var val = ["车载手机支架", "华硕笔记本", "恒温条奶器", "苏泊尔电磁炉", "美的电压锅", "摄影仪家用", "小米手机"];
var time1 = null;
var i = 1;
oTxt.value = val[0];
//把它封装成一个方法  可以供多处调用
function openTimmer() {
    time1 = setInterval(function{
        if (i >= val.length) {
            i = 0;
            oTxt.value = val[0];
            i++;
        } else {
            oTxt.value = val[i];
            i++;
        }
    }, 3000);
}
//页面加载时调用一次
openTimmer();

oTxt.onfocus = function () {
    clearInterval(time1);
    oTxt.value = "";
    oTxt.style.color = "rgb(51,51,51)";
}
oTxt.onblur = function () {
    clearInterval(time1);
    if (oTxt.value == "") {
        oTxt.value = val[i];
        //??????  这里再调用一次
        openTimmer()
        oTxt.style.color = "rgb(153,153,153)";
    }
}


查看完整回答
反对 回复 2017-06-20
  • 3 回答
  • 0 关注
  • 4422 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信