zoukankan      html  css  js  c++  java
  • JS之document例题讲解1(两张表之间数据转移、日期时间选择、子菜单下拉、用div做下拉菜单、事件总结)

    作业一:两个列表之间数据从一个列表移动到另一个列表

    <div style="600px; height:500px; margin-top:20px"> 
      <div style="200px; height:300px; float:left">
        <select id="list1" size="10" style="200px; height:300px">
          <option>山东</option>
          <option>北京</option>
          <option>河北</option>
          <option>黑龙江</option>
          <option>河南</option>
        </select>
      </div>
      <div style="80px; height:300px; float:left"> 
        <input type="button" value="单移" id="btn1" style="70px; height:30px" onclick="Dan()"/>
        <input type="button" value="全移" id="btn2" style="70px; height:30px" onclick="Duo()"/> 
      </div>
      <div style="200px; height:300px; float:left">
        <select id="list2" size="10" style="200px; height:300px"></select>
      </div> 
    </div>

    function Dan() {   var list1 = document.getElementById("list1"); //把列表1选中值取出   var v = list1.value;   var s = "<option class='o2'>"+v+"</option>"; //造一个option项   var attr = document.getElementsByClassName("o2"); //把造的option项放在一个数组里面。   var cz = true;//默认是true   for(var i=0;i<attr.length;i++)   {     if(attr[i].innerHTML==v) //判断右侧列表里是否有重复的     {       cz = false;       break;     }   }   if(cz)   {     var list2 = document.getElementById("list2"); // 将option项扔到list2     list2.innerHTML +=s;//在列表2添加上   } } function Duo() {   document.getElementById("list2").innerHTML = document.getElementById("list1").innerHTML; 直接复制列表选项 }

    作业二:日期时间选择

    <div style="600px; height:100px;"> 
      <select id="year"></select>年
      <select id="month" onchange="FillDay()"></select>月
      <select id="day"></select></div>
    </body>
    <script type="text/javascript">
    FillYear();
    FillMonth();
    FillDay();
    function FillYear()
    {
      var sj = new Date();//现在的日期时间
      var nian = sj.getFullYear();//获取年份 
      var s = "";
      for(var i=nian-5;i<nian+6;i++)//上下都是5年,i里面存的是年
      {
        if(i==nian)//如果i等于当前的年,也就是2016年。
        {
          s +="<option selected='selected'>"+i+"</option>";//下拉列表中默认出现的年份
        }
        else
        {
          s +="<option>"+i+"</option>";//普通的年份
        }
      }
    
      document.getElementById("year").innerHTML = s;//把这个字符串给年份的下拉
    }
    function FillMonth()
    {
      var sj = new Date();//在这个位置调用
      var yue = sj.getMonth()+1;    
      var s = "";
      for(var i=1;i<13;i++)
      {
        if(i==yue)
        {
          s +="<option selected='selected'>"+i+"</option>";
        }
        else
        {
          s +="<option>"+i+"</option>";
        }
      }    
      document.getElementById("month").innerHTML=s;
    }
    function FillDay()
    {
      var sj = new Date();
      var tian = sj.getDate();    
      var yue = document.getElementById("month").value;  取月份求天数
      var n = 31;
      if(yue==4 || yue==6 ||yue==9 ||yue==11)
      {
        n = 30;
      }
      else if(yue==2)
      {
        n=28;
      }    
      var s = "";  用循环添加
      for(var i=1;i<n+1;i++)
      {
        if(i==tian)
        {
          s +="<option selected='selected'>"+i+"</option>";
        }
        else
        {
          s +="<option>"+i+"</option>";
        }
      }    
      document.getElementById("day").innerHTML = s;    
    }

    例题一、子菜单下拉

    <style type="text/css">
    *{ margin:0px auto; padding:0px}
    #menu{ 700px; height:40px; border:1px solid #999; margin-top:30px}
    .list{ 100px; height:40px; text-align:center; line-height:40px; vertical-align:middle; font-size:16px; font-family:微软雅黑; float:left}
    .list:hover{ cursor:pointer; background-color:#63C; color:white}
    .ziwai{0px; height:0px;position:relative; float:left; top:40px; left:-100px}
    .zi{ 100px; height:100px; background-color:#6C3; display:none }//默认下拉都隐藏
    </style>
    </head>
    <body>
    <div id="menu">
      <div class='list' onmouseover="Show('z1')" onmouseout="YinCang()">首页</div>
        <div class="ziwai" >
          <div class="zi" id="z1"></div>
        </div>
      <div class='list' onmouseover="Show('z2')" onmouseout="YinCang()">产品介绍</div>
        <div class="ziwai" >
          <div class="zi" id="z2"></div>
        </div>
      <div class='list' onmouseover="Show('z3')" onmouseout="YinCang()">公司简介</div>
        <div class="ziwai" >
          <div class="zi" id="z3"></div>
        </div>
      <div class='list' onmouseover="Show('z4')" onmouseout="YinCang()">联系我们</div>
        <div class="ziwai" >
          <div class="zi" id="z4"></div>
        </div>
      <div class='list' onmouseover="Show('z5')" onmouseout="YinCang()">新闻动态</div>
        <div class="ziwai" >
          <div class="zi" id="z5"></div>
        </div>
    </div>
    </body>
    <script type="text/javascript">
    function Show(id)
    {
      var attr = document.getElementsByClassName("zi");
    
      for(var i=0; i<attr.length;i++)
      {
        attr[i].style.display = "none";  让所有的子菜单隐藏
      }
      document.getElementById(id).style.display = "block";  让和该菜单关联的子菜单显示
    }
    function YinCang()
    {
      var attr = document.getElementsByClassName("zi");
      for(var i=0; i<attr.length;i++)
      {
        attr[i].style.display = "none";
      }
    }
    </script>

    例题二、用div做下拉列表

    <title>无标题文档</title>
    <style type="text/css">
    *{ margin:0px auto; padding:0px}
    #xiala{ 180px; height:33px; border:1px solid #999;text-align:center; line-height:33px; vertical-align:middle; }
    #xiala:hover{ cursor:pointer}
    
    #zi{180px; height:150px; border:1px solid #63C; border-top:0px; display:none}
    
    .list{180px; height:33px; text-align:center; line-height:33px; vertical-align:middle; border-bottom:1px solid #63C; background-color:#CCC}
    .list:hover{ cursor:pointer; background-color:#63C; color:white}
    
    </style>
    
    </head>
    
    <body>
    
    <div style="700px; height:500px; margin-top:30px">
    
      <div id="xiala" onclick="Show()"></div>    
      <div id="zi">
        <div class="list" onclick="Xuan(this)">山东</div>//this表示一个元素这个元素相当于它本身。this写在哪一行里,就相当于这一行本身。
        <div class="list" onclick="Xuan(this)">淄博</div>
        <div class="list" onclick="Xuan(this)">张店</div>
      </div>
    </div>
    
    </body>
    <script type="text/javascript">
    function Show()
    {
      document.getElementById("zi").style.display="block";
    }
    function Xuan(ys)//ys代表选中的元素(山东、淄博、张店所在的div)
    {
      var v = ys.innerText;
      document.getElementById("xiala").innerText = v;
      document.getElementById("zi").style.display="none";
    }
    </script>

    事件总结

    通用:

    1.onclick      鼠标单击效果

    2.ondbclick  鼠标双击效果

    3.onchange 表单的值改变

    4.onmouseover  鼠标放上

    5.onmouseout   鼠标离开

    6.onmousemove  鼠标移动

    表单特有:

    1.onchang 表单的值改变
    2.onblur 失去焦点
    3.onfocus 获得焦点
    4.onselect 选中

  • 相关阅读:
    Oracle报错:ORA-01747: user.table.column, table.column 或列说明无效
    easyUI 比较时间大小
    五个在XML文档中预定义好的实体
    js截取字符串
    luogu2155 [SDOI2008]沙拉公主的困惑
    Codeforces Round #533 (Div. 2)题解
    luogu3327 [SDOI2015]约数个数和
    luogu3911 最小公倍数之和(莫比乌斯反演)
    luogu4449 于神之怒加强版(莫比乌斯反演)
    luogu3704 [SDOI2017]数字表格(莫比乌斯反演)
  • 原文地址:https://www.cnblogs.com/Strive-count/p/5899420.html
Copyright © 2011-2022 走看看