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 选中

  • 相关阅读:
    Largest Rectangle in Histogram
    Valid Sudoku
    Set Matrix Zeroes
    Unique Paths
    Binary Tree Level Order Traversal II
    Binary Tree Level Order Traversal
    Path Sum II
    Path Sum
    Validate Binary Search Tree
    新手程序员 e
  • 原文地址:https://www.cnblogs.com/Strive-count/p/5899420.html
Copyright © 2011-2022 走看看