清除定时器的判断问题

清除定时器的判断问题

请问这节课的清除定时器的判断为真是判断什么的。因为老师说判断为真。就是true对吗。当我把代码改为if(timer==true)的时候。为什么功能就成功了一次。然后后面都失败了。图片就是一直闪烁

正在回答

登陆购买课程后可参与讨论,去登陆

3回答

将timer==true改为timer就可以了,不要让他判断timer是否等于true,只要判断定时是否在运行就行!

  • 程序学习袁 提问者 #1
    非常感谢!
    2017-04-18 22:12:26
  • 我记得好像老师说过if里面写==true和不写是一样的意思,不知道这里为什么又不一样了
    2017-10-08 00:49:31
提问者 程序学习袁 2017-04-18 21:45:03
// 封装获取id
function byId(id){
	if(typeof id==="string"){
		return document.getElementById(id);
	}else{
		return id;
	}
}
var picbox=byId("picbox");
var picnum=picbox.getElementsByTagName("div");//获取图片div的数组
var leng=picnum.length; //获取div的数量

var num=0; 
var timer=null; //放置计时器的变量
// 计时器
function startTime(){
	timer=setInterval(function(){
		num++;
		if(num>=leng){
			num=0;
		}
		changeImg();
	},1000);
}
// 图片轮播函数
function changeImg(){
	for(i=0;i<leng;i++){
		picnum[i].style.display="none";
	}
	picnum[num].style.display="block";
}
//停止计时器
function stopTime(){
	if(timer==true){
		clearInterval(timer);
	}
}

function allthink(){
	picbox.onmouseover=function(){
		stopTime();
	}
	picbox.onmouseout=function(){
		startTime();
	}
	picbox.onmouseout();
}



allthink();


小丸子爱吃菜 2017-04-18 21:35:26

用来做判断,如果定时器在运行,那么就要清除定时器,停止自动播放。

你可以将你的代码贴上来,看一下具体的问题。

祝学习愉快!


  • 提问者 程序学习袁 #1
    // 封装获取id function byId(id){ if(typeof id==="string"){ return document.getElementById(id); }else{ return id; } } var picbox=byId("picbox"); var picnum=picbox.getElementsByTagName("div");//获取图片div的数组 var leng=picnum.length; //获取div的数量 var num=0; var timer=null; //放置计时器的变量 // 计时器 function startTime(){ timer=setInterval(function(){ num++; if(num>=leng){ num=0; } changeImg(); },1000); } // 图片轮播函数 function changeImg(){ for(i=0;i<leng;i++){ picnum[i].style.display="none"; } picnum[num].style.display="block"; } //停止计时器 function stopTime(){ if(timer==true){ clearInterval(timer); } } function allthink(){ picbox.onmouseover=function(){ stopTime(); } picbox.onmouseout=function(){ startTime(); } picbox.onmouseout(); } allthink(); 我的代码就是这样的。麻烦您看一下
    2017-04-18 21:44:16
  • 提问者 程序学习袁 #2
    额。好乱。我重新发在下面吧。你看看
    2017-04-18 21:44:49
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
前端小白入门系列课程
  • 参与学习           人
  • 提交作业       11218    份
  • 解答问题       36713    个

从一个不会编程的小白到一个老司机是需要过程的,首先得入门,学习基础知识,然后才能进阶,最后再到精通,本专题是你走进前端世界的不二选择!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师