zoukankan      html  css  js  c++  java
  • 2016年5月24日上午(妙味课堂js预热课程-2笔记)

    2016年5月24日(妙味课堂js预热课程-2笔记)
    一、前言
    1、window.onload(事件):是在页面加载完成以后来执行一个功能;
    如  window.onload=function(){
        alert(“a”)
       }
    这是一个匿名函数,因为在function后面括号前面没有名字;
    即在页面加载完成以后弹出一个警告框!

    2、如何提取行间事件;

    3、为什么一定要用到onload?

    二、主要内容
    1、收缩展开菜单——if判断
      如果菜单已经是显示的,把菜单隐藏;
      如果菜单已经是隐藏的,把菜单显示。
      <script type="text/javascript">
        window.onload=function () {
          var oBtn=document.getElementById("btn");
          var oUl=document.getElementById("ul1");

          oBtn.onclick=function () {
            if (oUl.style.display=="block"){
              oUl.style.display="none";
            }else {
            oUl.style.display="block";
            }
          }
        }
      </script>

    2、全选功能
    注意点:
      a:get Elements By TagName通过标签名选择一组元素
      b:这一组元素的长度可以按照这个alert(aInput.length);语句来弹出;
      c: aInput[0].checked=true;其中checked是复选框checkbox独有的属性,其属性值由true和false;
      d:for循环;
        var i=0;
        for(i=0;i《5;i++){
          alert(“i”);
        }
      运行该代码,则会弹出0,1,2,3,4,5;

                         

      此全选代码为:
        <script type="text/javascript">
          window.onload=function () {
            var oBtn=document.getElementById("btn");
            var aInput=document.getElementsByTagName("input");

            var i=0;
            oBtn.onclick=function () {
              for (i=0;i<aInput.length;i++){
                aInput[i].checked=true;
              }
            }
          }
        </script>

      e:注意事件提取与for循环的运用:如点击每一个按钮都会弹出一个“a”;
      则js代码如下:
        <script type="text/javascript">
          window.onload=function () {
            var oBtn=document.getElementById("input");
            var i=0;

            for (i=0;i<aInput.length;i++){
              aBtn[i].onclick=function () {
                alert("a");
              }
            }
          }
        </script>

       重点词:this

        <script type="text/javascript">
          window.onload=function () {
            var oBtn=document.getElementById("input");
            var i=0;

            for (i=0;i<aInput.length;i++){
              aBtn[i].onclick=function () {
              alert(this.value);
              }
            }
          }
        </script>
        this指的是当前发生事件的那个元素;

      3、选项卡(tab标签)
      class=“active”当前被选中状态
      第一步:制作三个点击按钮:(其中一个按钮为选中状态)
        <input class="active" type="button" value="1" />
        <input type="button" value="2" />
        <input type="button" value="3" />
      第二步:为按钮加简单样式:
        <style>
          input{background: white ;}
          .active{background: yellow;}
        </style>
      第三步:加事件,即点击之后按钮变为yellow;
        <script type="text/javascript">
          window.onload=function () {
            var aBtn=document.getElementsByTagName("input");
            var i=0;
            for(i=0;i<aBtn.length;i++){
              aBtn[i].onclick=function () {
                for(i=0;i<aBtn.length;i++){
                aBtn[i].className='';
                }
                this.className="active"
              }
            }
          }
        </script>
      因此选项卡的头部就完成了,接下来做选项卡的下面部分;
      第四步:在下面加内容,以及为其内容加样式,并设置第一部分内容显示,其他内容隐藏;
        <div style="display:block">111</div>
        <div>222</div>
        <div>333</div>
        div{200px;height:200px;background:#ccc;display:none;}
      第五步:同样的为内容加点击事件:
        <script type="text/javascript">
          window.onload=function () {
            var aBtn=document.getElementsByTagName("input");
            var aDiv=document.getElementsByTagName("div");
            var i=0;
            for(i=0;i<aBtn.length;i++){
              aBtn[i].index=i;
              aBtn[i].onclick=function () {
                for(i=0;i<aBtn.length;i++){
                aBtn[i].className='';
                aDiv[i].style.display='none';
                }
                this.className="active";
                aDiv[this.index].style.display="block";
              }
            }
          }
        </script>
      这样选项卡就完成了。

      效果原理为:
        1、点击按钮时,改变class的style.display
        2、选项卡的头部标签:
          所有按钮的className都为空
          让当前按钮的className为active
          (注意this的使用)
        3、选项卡内容
          所有div的display都为none
          让当前div的display为block
          (注意当前编号的使用即aBtn[i].index=i;)

  • 相关阅读:
    Select查询执行顺序
    javascript异步处理
    ASP.NET MVC WebAPI请求
    函数声明和函数表达式
    var声明的成员变量和函数内声明的变量区别
    网页大小自适应方案
    MVC Html.AntiForgeryToken() 防止CSRF攻击
    Jquery跨域请求
    螺旋模型
    快速原型模型
  • 原文地址:https://www.cnblogs.com/zzjeny/p/5525760.html
Copyright © 2011-2022 走看看