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、 表格的增删改查

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

  • 相关阅读:
    webSQL 实现即时通讯
    微信开发(微信公众号)
    回顾 git 常用命令
    面向对象的 javascript
    关于HTML、js加密、混淆、源码保护、代码安全,防止解压直接看源码
    svn 的使用
    css新单位 vw , vh
    图片转成base64, base64转成图片
    EL表达式
    jsp页面获取集合的长度
  • 原文地址:https://www.cnblogs.com/suola/p/8276170.html
Copyright © 2011-2022 走看看