zoukankan      html  css  js  c++  java
  • DOM操作 练习

    1、电子时钟

    复制代码
    时间:<input id="tt" type="text">//html中建立文本框显示时间
    <script>
    function dianziTime(name){
        var t = new Date(),//新建一个时间
            y = t.getFullYear(),//获取年
            m = (+t.getMonth()+1) >= 10 ? +t.getMonth()+1 : "0" +(+t.getMonth()+1),
    //获取月份,月份下标是(0-11),与实际日期差1
    //三目运算,如果是1位数,前面加0
            d = t.getDate(),//获取日
            h = t.getHours(),//获取小时
            f = t.getMinutes(),//获取分钟
            s = t.getSeconds();//获取秒
        var str = y+"-"+m+"-"+d+" "+h+":"+f+":"+s;//显示设置
        document.getElementById('tt').value = str;//将时间放在id="tt"中
    }
    </script>
    复制代码

    注意:此时获取时间,只是当前刷新页面时的时间,是固定的,非动态的

    JS获取日期当前时间日期及其他操作:

    复制代码
    var myDate = new Date();
    myDate.getYear();        //获取当前年份(2位)
    myDate.getFullYear();    //获取完整的年份(4位,1970-????)
    myDate.getMonth();       //获取当前月份(0-11,0代表1月)
    myDate.getDate();        //获取当前日(1-31)
    myDate.getDay();         //获取当前星期X(0-6,0代表星期天)
    myDate.getTime();        //获取当前时间(从1970.1.1开始的毫秒数)
    myDate.getHours();       //获取当前小时数(0-23)
    myDate.getMinutes();     //获取当前分钟数(0-59)
    myDate.getSeconds();     //获取当前秒数(0-59)
    myDate.getMilliseconds();    //获取当前毫秒数(0-999)
    myDate.toLocaleDateString();     //获取当前日期
    var mytime=myDate.toLocaleTimeString();     //获取当前时间
    myDate.toLocaleString( );        //获取日期与时间
    复制代码

    建立动态时间:利用定时器,设置每秒运行一次“dianziTime(name)” 

    window.onload = function(){
        setInterval(function(){
    //建立定时器,每1秒运行一次
            dianziTime();
        },1000);
    }

    显示结果:

    2、随机事件

    Math.random()方法返回大于等于 0 小于 1 的一个随机数。

    随机点名:

    var arr = ["温钊","高志伟","边秀通","李智伟","丁昆","张镇潇","刘庆亮","郭浩","李青","任星旭"];//新建数组
     var i = parseInt(Math.random()*10);
    //Math.random()的返回值是在0-1之间的,因为有10个值,所以*10,并取整数,作为数组arr的下标
     console.log(i);
     console.log(arr[i]);

    滚动抽奖:

    html部分,两个按钮,及显示区域

    <body>
        <button id="start">开始</button>//建立开始按钮 
        <button id="end">停止</button>//建立结束按钮
        <div id="dd" style=" 300px; height: 50px;background: red;text-align: center; line-height: 50px;">
        </div>//设置一块区域,显示名字
    </body>

    js部分:设置定时器,循环显示内容,当清除定时器时,显示内容为抽中内容

    复制代码
    var divDom = null, //显示div
        startDom = null, //开始按钮
        endDom = null;//结束按钮
    window.onload = function(){
        divDom = document.getElementById('dd');//找到区域
        startDom = document.getElementById('start');//找到开始按钮
        endDom = document.getElementById('end');//找到结束按钮
    }
    
    function addEvent(){
        //开始事件
        startDom.onclick = function(){
        //点击运行方法
            setDom = setInterval(function(){
    //建立一个定时器,每1毫秒显示一次
                divDom.innerHTML = arr[n];
    //将arr[0]中的内容赋值给div
                n++;
                if(n >= 10){
                                n = 0;
                             } 
    //当n=10时,运行完一边,设置n=0,再重新循环
               },1);
        }
        //结束事件
        endDom.onclick = function(){
            clearInterval(setDom);//清除定时器
        }
    }                          
    复制代码

    显示结果:

     

    3、获取验证码,并验证

    html部分:在输入框输入验证码,验证是否一致,验证码没有时,显示“加载中...”

    验证码:<input id="yzmVal" type="text">
        <span id="yzm">加载中...</span>
        <button id="yz">验证</button>

    复制代码
    var n = 0;//数组下标
    function yzmFun(n=4){
    //设置输出4个验证码
        var str = "0123456789";//建立字符串0-9
        var sjs = "";//设置输出内容
        for(var i =0;i<n;++i){
            sjs += str.substr(Math.random()*str.length,1);
    //建立随机数,提取字符串内容,给sjs,共四次
        }
        document.getElementById('yzm').innerHTML= sjs;//将内容给<span>
    }
    复制代码

    str.substr(a,b);为截取字符串,a表示从下标为a的数开始,b表示截取长度。

    验证:获取输入框内容,与验证码内容匹配

    复制代码
     var yanzDom = document.getElementById('yz');
    var wbDom=document.getElementById('yzmVal');
    var wbnr=wbDom.value;
    yanzDom.onClick=function(){
        if(wbnr==sjs){
      alert("验证成功");
      }
        alert("验证失败");
    }  
    复制代码

    4、36个数选7 ,且数不重复

    indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。

    如果没有找到字符串,则返回-1.  

    复制代码
    function buchong(){
        var num = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36];
        var jiguo = [];//定义数组jieguo
        for(var i =0;i<7;++i){
            var n = parseInt(Math.random()*num.length);
        //随机抽取数组num中的数
            if(jiguo.indexOf(num[n]) < 0 ){
    //返回抽取数在jieguo数组的首次出现位置,没有返回-1
                jiguo.push(num[n]);
            }else{
                i--;
            }  
    }
    复制代码

    indexOf() 方法用法,

    stringObject.indexOf(searchvalue,fromindex)

    indexOf() 方法对大小写敏感!

    searchvalue为必须的,为要查找的字符串,如果找到一个 searchvalue,则返回 searchvalue 的第一次出现的位置。

    stringObject 中的字符位置是从 0 开始的。如果要检索的字符串值没有出现,则该方法返回 -1。

    fromindex该整数值为在对象内开始查找的索引。

    复制代码
    <script type="text/javascript">
    
    var str="Hello world!"
    document.write(str.indexOf("Hello") + "<br />")//搜索"Hello"+""
    document.write(str.indexOf("World") + "<br />")//搜索"World"+""
    document.write(str.indexOf("world"))//搜索"World"
    
    </script>
    复制代码

    结果为:

    0
    -1
    6
  • 相关阅读:
    .gitignore文件的位置
    robotframework 用法
    selenium 问答
    python 定时任务执行
    final关键字
    开启线程的方式。
    约瑟夫环。
    1000的阶乘,1.求出所有零的个数 2.求出尾部零的个数
    三种代码块。
    static关键字的基本用法。
  • 原文地址:https://www.cnblogs.com/-dashu/p/9268360.html
Copyright © 2011-2022 走看看