zoukankan      html  css  js  c++  java
  • 第五章 JS典型特效

    注意:

    1JSHTML中从上到下依次执行所以获取元素的结果与JS的位置有关

    <!DOCTYPE html>

    <html>

    <head>

    <title>获取元素</title>

    //外部JS警告框弹出的是【null

    <script type="text/javascript" src="js/index.js"></script>

    //警告框弹出的是【null

    <script type="text/javascript">

    alert(document.getElementById("my"));

    </script>

    </head>

    <body>

    <div id="my">haha</div>

    //警告框弹出的是【object HTMLDivElement

    <script type="text/javascript">

    alert(document.getElementById("my"));

    </script>

    </body>

    </html>

    解决方法1)将JS放到网页文档末尾2)使用window.onload=initi;当文档加载完成时再运行JS的函数initi【此时函数使用时只用函数名,不要小括号】。

    JS完成特效

    1、 时钟特效

    window.onload=initi; //给文档加载完成事件绑定名叫initi的函数

     

    function initi(){

    setInterval("getTime()",10); //每隔1000毫秒执行一次getTime()函数

    }

     

     

    function getTime(){

      //1.获取元素

    var timeDiv=document.getElementById("my");

     

      //2.累加时间

    var today=new Date(); //定义时间对象

    var tStr=""; //定义时间字符串

    tStr+=today.getFullYear()+"";

    tStr+=(today.getMonth()+1)+"";

    tStr+=today.getDate()+"";

    tStr+=today.getHours()+"";

    tStr+=today.getMinutes()+"";

    tStr+=today.getSeconds()+"";

     

      //3.修改元素

    timeDiv.innerHTML=tStr; //将时间字符串丢到Div

    }

    2、弹出窗口特效——病毒页面效果——每隔5s跳出页面

    function opens(){

    window.open("https://123.sogou.com/","","  width=250, height=265,toolbar=0,scrollbars=0,location=0,status=0,menubar=0,resizable=0");

    }

    var t=setInterval("opens()",5000);

    1、 Tab切换——使用数组和循环完成Tab切换

    // JavaScript Document

    //定义三个按钮

    var btns=new Array();

     

    //定义三个内容

    var contents=new Array();

     

    //文档加载完成做事情

    window.onload=function(){

    //取出所有div

    var divs=document.getElementsByTagName("div");

    var i=0;//按钮的下标

    var j=0;//内容的下标,下标从0开始

     

    for(var k=0;k<divs.length;k++){

    //根据div块的className将不同的div存入相应的数组中

    if(divs[k].className=="btnTab"){

    //如果class的值和按钮的class一致就存入

    btns[i]=divs[k];

    i++;//让下标连续

    /*

    两句可以写作

    btns[i++]=divs[ks];

    */

    }

    if(divs[k].className=="contentTab"){

    //如果class的值和按钮的class一致就存入

    contents[j]=divs[k];

    j++;//让下标连续

    }

    }

     

    for(var t=0;t<btns.length;t++){

    bangd(t);//循环每个按钮,绑定函数

    }

     

    //使用循环进行事件绑定

    function bangd(temp){

    //给第i个按钮绑定单击事件

    btns[temp].onclick=function(){

    for(var m=0;m<contents.length;m++){

    if(m==temp){

    contents[m].style.display="block";

    }else{

    contents[i].style.display="none";

    }

    }

     

    }

    }

     

    }

    2、 全选和反选

    a) 全选

    //文档加载完成时,绑定匿名函数

    window.onload=function(){

    //通过id获取全选复选框

    var checkAll=document.getElementById("checkAll");

    //根据name取复选框,返回对象数组

    var hobby=document.getElementsByName("hobby");

     

    //给全选按钮绑定单击事件,事件是一个匿名函数,函数可以嵌套

    checkAll.onclick=function(){

    //this关键字,指的是当前正在运行时的对象

    /*

    if(this.checked==true){//全选被选中

    for(var i=0;i<hobby.length;i++){

    //使用循环选中所有按钮

    hobby[i].checked==true;

    }

    }else{//否则,所有按钮都不被选中

    for(var i=0;i<hobby.length;i++){

    hobby[i].checked==false;

    }

    }

    */

    //优化代码【this指的是全选复选框,给所有爱好赋上全选框的值】

    for(var i=0;i<hobby.length;i++){

    hobby[i].checked==this.checked;

    }

     

    }

    }

    b) 反选

    //文档加载完成时,绑定匿名函数

    window.onload=function(){

    //通过id获取全选复选框

    var checkFan=document.getElementById("checkFan");

    //根据name取复选框,返回对象数组

    var hobby=document.getElementsByName("hobby");

     

    //给反选按钮绑定单击事件,事件是一个匿名函数,函数可以嵌套

    checkFan.onclick=function(){

    for(var i=0;i<hobby.length;i++){

    hobby[i].checked=!hobby[i].checked;

    //循环每一个复选框,值为自己的相反值

    }

     

    }

    }

    3、 表格的增删改查

    …………………………………未完待续,我先睡了有时间再发………………………

  • 相关阅读:
    Unix命令大全
    vs2008 与 IE8出现的兼容性问题
    Java 创建文件、文件夹以及临时文件
    如何修改Wamp中mysql默认空密码
    PAT 乙级真题 1003.数素数
    Tags support in htmlText flash as3
    DelphiXE4 FireMonkey 试玩记录,开发IOS应用 还是移植
    10 Great iphone App Review sites to Promote your Apps!
    HTML tags in textfield
    Delphi XE4 IOS 开发, "No eligible applications were found“
  • 原文地址:https://www.cnblogs.com/suola/p/8276170.html
Copyright © 2011-2022 走看看