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

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)";

}

}


慕后端2871187
浏览 4453回答 3
3回答

风起临冬

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

小羊杨

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

李晓健

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)";     } }
打开App,查看更多内容
随时随地看视频慕课网APP