js---08函数 定时器

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>无标题文档</title>

<script>
// 数字、字符串、布尔、函数、对象(元素\数组\json\null)、未定义
alert( fn1().length );//5
alert( typeof fn1() ); //string
function fn1(){
    // return 100;
    return ‘miaov‘;
}

alert( fn2() );//返回函数体 function (b){alert(a+b);};
fn2(20)(10);
function fn2(a){
    return function (b){
        alert(a+b);    //30
    };
}

fn3().onload = function (){
    document.body.innerHTML = 123;
};
function fn3(){
    return window;
}

alert(fn4());
function fn4(){
    // return ;   不加return,返回未定义
}

alert( fn5() );
function fn5(){
    return 123;
    alert(520);//不再执行
}
</script>

<script>
window.onload = function (){
    // var oBtn = document.getElementById(‘btn1‘);
    // var oDiv = document.getElementById(‘div1‘);
    $(‘btn1‘).onclick = function (){
        alert( $(‘div1‘).innerHTML );
    };
};
function $( id ){
    return document.getElementById( id );
}
</script>

<script>
fn1( 1,2,3 );
function fn1( a,b,c ){}
function fn1(){//不写形参名字,也传进来了,arguments里面,
    //arguments => [ 1,2,3 ] —— 实参的集合
    alert( arguments );//object
    alert( arguments.length );
    alert( arguments[arguments.length-1] );
}

// 当函数的参数个数无法确定的时候:用 arguments
alert( sum( 1,2,3 ) );    // 6
alert( sum( 1,2,3,4 ) );// 10
function sum (){
    var n = 0;
    for( var i=0; i<arguments.length; i++ ){
        n += arguments[i];
    }
    return n;
}

var a = 1;
function fn2( a ){
    arguments[0] = 3;
    alert(a);// 3
    var a = 2;
    alert( arguments[0] );// 2
}
fn2(a);
alert(a);// 1
</script>

<script>
window.onload = function (){
    var miaov = document.getElementById(‘miaov‘);
    //定时执行的嵌套,2秒后出来,3秒后关闭
    setTimeout( function(){
        miaov.style.display = ‘inline-block‘;
        setTimeout(function(){
            miaov.style.display = ‘none‘;
        }, 3000);

    },  2000);
};
</script>
</head>
<body>
</body>
</html>
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>无标题文档</title>
<style>
ul { padding:0; margin:0; }
li { list-style:none; }
body { background:#333; }
#pic { width:400px; height:500px; position:relative; margin:0 auto; background:url(img/loader_ico.gif) no-repeat center #fff; }
#pic img { width:400px; height:500px; }
#pic ul { width:40px; position:absolute; top:0; right:-50px; }
#pic li { width:40px; height:40px; margin-bottom:4px; background:#666; }
#pic .active { background:#FC3; }
#pic span { top:0; }
#pic p { bottom:0; margin:0; }
#pic p,#pic span { position:absolute; left:0; width:400px; height:30px; line-height:30px; text-align:center; color:#fff; background:#000; }
</style>
<script>
window.onload = function (){
    var oDiv = document.getElementById(‘pic‘);
    var oImg = oDiv.getElementsByTagName(‘img‘)[0];
    var oSpan = oDiv.getElementsByTagName(‘span‘)[0];
    var oP = oDiv.getElementsByTagName(‘p‘)[0];
    var oUl = oDiv.getElementsByTagName(‘ul‘)[0];
    var aLi = oUl.getElementsByTagName(‘li‘);

    var arrUrl = [ ‘img/1.png‘, ‘img/2.png‘, ‘img/3.png‘, ‘img/4.png‘ ];
    var arrText = [ ‘小宠物‘, ‘图片二‘, ‘图片三‘, ‘面具‘ ];
    var num = 0;

    var timer = null;
    function autoPlay(){
        timer = setInterval(function(){
            num++;
            num%=arrText.length;
            fnTab();
        }, 1000);
    }
    // autoPlay();
    setTimeout( autoPlay, 2000 );
    oDiv.onmouseover = function (){
        clearTimeout( timer );//移开停止定时器
    };
    oDiv.onmouseout = autoPlay;//移上去执行定时器,autoPlay不要加括号,加括号表示返回值,
    for( var i=0; i<arrUrl.length; i++ ){
        oUl.innerHTML += ‘<li></li>‘;
    }
    // 初始化
    function fnTab(){
        oImg.src = arrUrl[num];//初始化为0张图片
        oSpan.innerHTML = 1+num+‘ / ‘+arrUrl.length;
        oP.innerHTML = arrText[num];//初始化为0个文字
        for( var i=0; i<aLi.length; i++ ){
            aLi[i].className = ‘‘;
        }
        aLi[num].className = ‘active‘;
    }
    fnTab();
    for( var i=0; i<aLi.length; i++ ){
        aLi[i].index = i;            // 索引值
        aLi[i].onclick = function (){
            num = this.index;
            fnTab();
        };
    }
};
</script>
</head>

<body>

<div id="pic">
    <img src="" />
  <span>数量正在加载中……</span>
  <p>文字说明正在加载中……</p>
  <ul></ul>
</div>

</body>
</html>
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>无标题文档</title>

<style>
#qq { width:200px; height:400px; background:#F9C; }
#title { width:240px; height:180px; background:#FC6; position:absolute; top:10px; left:220px; display:none; }
</style>
<script src="miaov.js"></script>
<script>
$(function(){
    var qq = $(‘qq‘);
    var title = $(‘title‘);
    var timer = null;

    qq.onmouseover = show;
    qq.onmouseout = hide;

    title.onmouseover = show;
    title.onmouseout = hide;

    function show(){
        clearInterval( timer );//前面定时器开了,现在要关,不关显示不出来
        title.style.display = ‘block‘;
    }
    function hide(){
        timer = setTimeout(function(){
            title.style.display = ‘none‘;
        }, 200);
    }
});
</script>
</head>

<body>

<div id="qq"></div>
<div id="title"></div>

</body>
</html>
时间: 2024-12-11 11:51:53

js---08函数 定时器的相关文章

08 js系统函数、js函数调用方式

在js 中函数分为:用户自定义函数.系统函数(查阅文档) 常用函数的介绍eval <html> <head> </head> <body> <script language="javascript"> var str="window.alert('OK')"; //需求是把str当做一个脚本来执行 eval(str);//计算 JavaScript 字符串,并把它作为脚本代码来执行. </script

[概念] js的函数节流和throttle和debounce详解

js的函数节流和throttle和debounce详解:同样是实现了一个功能,可能有的效率高,有的效率低,这种现象在高耗能的执行过程中区分就比较明显.本章节一个比较常用的提高性能的方式,通常叫做"函数节流",下面就通过代码实例对此做一下介绍.一.函数节流是什么:在实际编码中,mousemove和resize是使用非常频繁的事件类型(当然还有其他类似事件类型),这样的事件有一个共同的特点,就是在一个普通的操作中,就有可能会在极短的时间内多次执行事件处理函数,会极大的损耗性能,比如resi

js 四舍五入函数

js 四舍五入函数 toFixed(),里面的参数 就是保留小数的位数. <script language="javascript"> document.write("<h1>JS保留两位小数例子</h1><br>"); var a=2.1512131231231321; document.write("原来的值:"+a+"<br>"); document.write

前端 之 JavaScript : JS的面向对象; 定时器; BOM

JS的面向对象 定时器 BOM JS的面向对象 创建对象的几种常用方式 1.使用Object或对象字面量创建对象 2.工厂模式创建对象 3.构造函数模式创建对象 4.原型模式创建对象 1.使用Object或对象字面量创建对象 JS中最基本创建对象的方式: var student = new Object(); student.name = "easy"; student.age = "20"; 这样,一个student对象就创建完毕,拥有2个属性name以及age,

关于JS中的定时器!!!

定时器: 周期性定时器 一次性定时器 1. 周期性定时器: 让程序每隔一段时间间隔,反复执行一项任务 何时使用: 只要连续,有规律的持续播放的动画 如何使用: 3件事: 1. ***任务函数: 定时器每次执行的任务 function task(){...} 任务函数通常要自己考虑:*何时停止*定时器的临界值 2. 将任务函数放入定时器,定时执行: timer=setInterval(task,interval) 其中: interval 是间隔的毫秒数 timer往往是一个全局变量: 用来保存当

js:深入函数的定义

函数定义方式: 1.function fun1(){alert("fun1");}  //函数就是一个非常特殊的对象,是一个Function的实例,其实在内存中存储的操作是通过一个键值对来存储的. 2.由于函数是一个对象,所以可以通过如下方式定义 var fun2 = fun1;  //通过函数拷贝给fun2完成赋值,但fun1.fun2这两个引用并没有指向同一个对象(虽然他们指向的对象的内容是一样的). fun1 = function(){alert("fun111&quo

对JS中函数的理解

函数本质就是功能的集合 JS中函数是对象,因此,函数名实际上仅仅是一个指向函数对象的指针,不会与某个函数绑定,所以,JS中没有重载(重载就是通过传递不同类型的参数,使两个相同函数名的函数执行不同的功能) var fn=function(a){return a+100;} fn=function(a){return a+200;} alert(fn(100)); //300 要访问函数的引用(指针)而不是执行函数时,必须去掉圆括号,加上圆括号表示访问函数执行后的结果 函数体内部的语句在执行时,一旦

js中函数参数值传递和引用传递

js中函数参数值传递和引用传递:在阅读本章节之前建议参阅一下两章节:1.值类型可以参阅javascript的值类型一章节.2.引用类型可以参阅javascript的引用类型一章节.一.函数传递值类型:代码实例如下: function addNum(num) { num+=10; return num; } var num=10; var result=addNum(num); console.log(num); console.log(result); 以上代码的弹出值分别为:10和20,下面进

JS中函数定义的三种格式

第一种:function  fun1(参数1,参数2...){            //通过创建函数名来定义函数 函数体: } 第二种:var fun2=new Function("参数1,参数2...","函数体");         //通过创建变量来定义函数 第三种:function(){                //匿名函数 函数体: } 说明: 1,在调用时,可以为没有参数的函数传递参数:但如果没有传递参数给有参数的函数时,会默认参数为undefi

在js自定义函数中使用$(event.target)代替$(this)

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <ti