1.
box.onclick=function(){setInterval(function(){
i++
box.innerHTML=i;
},1000);
}
2.函数在外部。
box.onclick=function(){
setInterval(action,1000);
}
function action(){
i++;
box.innerHTML=i;
}
box.onclick=function(){
setTimeout(function(){
i++
box.innerHTML=i;
},1000);
}
2.外部调用函数
box.onclick=function(){
setTimeout(action,1000);
}
function action(){
i++;
box.innerHTML=i;
}
setInterval(function(){
//console.log(this); //window 这里的this指向window
},1000);
var n=0;
function action(){
n++
if(n==8){
clearInterval(time);
}
console.log(n);
}
var time=setInterval(action,1000); time在下面声明,而在上面能够用到吗?
无论time在调用的上面还是下面都是能够用到的,因为,js是同步模型,在执行上面的代码的时候也会执行下面的代码,
并且要清除定时器是在n等于8时、
var time; 一般的都是这样写,并且声明写在最外面 全局变量
action.onclick=function(){
var l=parseInt(getComputedStyle(box).left); getComputedStyle()获取元素的属性
var t=parseInt(getComputedStyle(box).top);
var w=parseInt(getComputedStyle(box).width);
var h=parseInt(getComputedStyle(box).height);
time=setInterval(function(){ 如果声明写在这里,即 var time= 那么,这个time就是局部变量了
w++;
h++;
l++;
t++;
box.style.width=w+‘px‘;
box.style.height=h+‘px‘;
box.style.left=l+‘px‘;
box.style.top=t+‘px‘;
},16);
}
stop.onclick=function(){
clearInterval(time); 那么这里点击的时候 time是局部变量就起不了作用
}
window.onload=function(){
var box=document.getElementById("box");
var time;
var time1;
var l=parseInt(getComputedStyle(box).height);
把第一个定时器的编号赋给timetime=setInterval(function(){ 第一个重复执行定时器
l++;
box.style.height=l+‘px‘;
if(l==250){
clearInterval(time); 停止第一个重复执行器
setTimeout(function(){ 延迟执行定时器
把第二个定时器的编号赋给time1time1=setInterval(function(){ 第二个重复执行定时器
l--;
box.style.height=l+‘px‘;
if(l==100){
clearInterval(time1); 停止第二个重复执行器
}
},16);
},3000);
}
},16);
}
t=setInterval(function(){
var l=parseInt(getComputedStyle(box).left);
l+=7;
//当box走到300的时候,就让它停下来
//console.log(l);
if(l>=300){
clearInterval(t);
l=300;
}
begin.onclick=function(){
clearInterval(t); //清除一个不存在的定时器是不会有问题的
t=setInterval(function(){
var l=parseInt(getComputedStyle(box).left);
l+=7;
//当box走到300的时候,就让它停下来
//console.log(l);
if(l>=500){
clearInterval(t);
l=500;
}
var btn=document.getElementById("btn");
var box1=document.getElementById("box1");
var box2=document.getElementById("box2");
function move(obj,attr,target){
clearInterval(obj.t); //一上来只清除自己身上的定时器,不会清除别人的定时器
obj.t=setInterval(function(){ 相当于var obj.t= 把定时器编号赋值给不同的obj
var value=parseInt(getComputedStyle(obj)[attr]); //获取到属性的值
value+=7; //让属性不断的加个7
//如果属性的值已经超过目标了,要清除定时器,同是为了避免越界,要把它拉回来
if(value>=target){
clearInterval(obj.t);
value=target;
}
//修改元素的属性值
obj.style[attr]=value+‘px‘;
},16);
}
btn.onclick=function(){
move(box1,‘left‘,300);
move(box2,‘left‘,400);
}
};
d1.setDate(0);
console.log(d1.getDate());
d1.setDate(1);
console.log(d1.getDay());
//用现在的日期减7,一直减。直到把今年减到去年,
//还有一个需要判断的是今天是星期几,如果今天的星期大于今年第一天的星期,那么数据才正确,如果小于第一天的星期,那么会少一周还要把这一周加回来
var d=new Date();
var d2=new Date(2017,0,1).getDay();
console.log(d2);
var n=0;
while(d.getFullYear()==2017){
n++;
d.setDate(d.getDate()-7);
}
if(d.getDay()<d2){
n++;
}
console.log(n);
</script>
原文:http://www.cnblogs.com/CafeMing/p/6412251.html