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

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

/ 猿问

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

qq_ASpade_0 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 回答

?
风起临冬

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

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

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

查看完整回答
反对 回复 2017-07-05
?
李晓健
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

添加回答

回复

举报

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