妙味js预热课程(一)

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{width: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;)

时间: 2024-10-07 13:58:17

妙味js预热课程(一)的相关文章

妙味js预热课程(二)

一.js简易日历 1.innerHTML的使用: a:设置内容并为其加样式: <input id="txt1" type="text" /> <input id="btn1" type="button" value="设置文字" /> <div id="div1"></div> <style> #div1{width:200px

2016年5月25日下午(妙味课堂js预热课程-4笔记二)

二.无缝滚动    如上图所示,现在很多网页都会实现这样的效果:它是如何实现的呢? 1.布局 注意如果想让一个div的位置发生改变,则最好给这个div加上一个绝对定位:position:absolute: obj.offsetLeft 指 obj 相对于版面或由 offsetParent 属性指定的父坐标的计算左侧位置,整型,单位像素. (1)这里插入一个小程序,即如何让Div移动起来:代码如下: 1 <style> 2 #div1{width:100px;height:100px;backg

2016年5月25日下午(妙味课堂js预热课程-4笔记)

一.延时显示框 首先我们要做的是制作两个显示框,当鼠标移入显示框1的时候显示框2出来,当鼠标移出的时候显示框2消失:其代码如下: <script type="text/javascript"> window.onload=function () { var oDiv1=document.getElementById("div1"); var oDiv2=document.getElementById("div2"); oDiv1.on

妙味 js

JS的组成部分: ECMA几乎没有兼容性问题 DOM 给了js操作页面的能力,在js中就是document BOM 给了js操作浏览器的能力 变量: typeof 的返回值: 有6种 number string boolean function object undefined 字符串转化为数字(显式类型转化): alert(parseInt(12sdsd))弹出为12,parseInt的功能为从字符串中提取数字,碰到不是数字时停止. pareInt()弹回整数,pareFloat()返回小数.

妙味JS学习记录(二)

在学习过程中零碎的知识点记录以及一些想法,加深印象,强化记忆. 五.Ajax ~ 无刷新数据读取:用户注册.在线地图.聊天室.webQQ.微博: Ajax能且仅能 从服务器读取一个文件,要注意文本文件和网页的编码要统一(utf-8) 只读一次,后面加载缓存,?t=1213 用get提交数据 可以用?t=new Date().getTime 使每次都重新加载: eval()计算字符串里的值,如果参数是一个表达式,eval() 函数将执行表达式.如果参数是Javascript语句,eval()将执行

妙味课堂——HTML+CSS基础笔记

妙味课堂的课程讲得非常的清楚,受益匪浅.先把HTML和CSS基础课程部分视频的学习笔记记录如下: padding #PS基础 ##前端需要的PS技能 - PS技能(前端需要):切图.修图.测量 - PS工具: - 移动工具 - 矩形选框工具 - 裁切工具 - 吸管工具 - 横排文字工具 - 手抓(快捷键:空格) - 缩放(快捷键:Ctrl + 和 Ctrl -) - 标尺(快捷键:Ctrl R,主要是拖出参考线.矩形区域选择的时候,按住Ctrl,就能贴合参考线) - 自由变换(快捷键 Ctrl

妙味课堂——JavaScript基础课程笔记

集中时间把秒微课堂JS的基础课程看完,并且认真完成了课后练习.感觉在JS方面的技能算是入了个门了.课后练习的作业完成的代码我都汇总在了这里.至于视频课的学习笔记,则记录如下. 第01课JS入门基础_热身课程 写JS的步骤 先实现布局 想出实现原理 了解JS语法 希望把某个元素移除的实现 display: none; 显示为无 visibility: hidden; 隐藏 width \ height 透明度 left \ top 拿与背景色相同的div盖住该元素 利用margin值 …… 获取元

妙味远程课堂-JS热身运动-下

html由属性名和属性值组成 属性读操作:获取.找到 元素.属性名 属性写操作:添加.替换.修改 元素.属性名=新的值 元素.innerHtml//读取元素内的html内容 元素.innerHtml=新的值//修改或替换他里面的内容 案例1 <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title>妙味1</title&

妙味课堂基础篇0_3

1.日历 1 JAN 2 FER 3 MAR 4 APR 5 MAY 6 JUN 7 JUL 8 AUG 9 SEP 10 OCT 11 NOV 12 DEC 1月活动 快过年了,大家可以商量着去哪玩吧- <!DOCTYPE html PUBLIC "-//W3C//h2D XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/h2D/xhtml1-transitional.h2d"> <