前端day6总结


<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>
    <body>
        <p id="p1" class="c1">我是段落</p>
        <div id="div1">
            我是div
            <p>我是p标签2</p>
        </div>
        <div id="div2">
            <h1>我是段落1</h1>
            <h1>我是段落2</h1>
        </div>
        <script type="text/javascript">
            //1.获取节点
                //1.1 直接获取
                    //通过id值来获取节点;docment.getElementByID(ID属性值)---返回时标签对应的节点对象
                    //补充:html标签在js全部都是对象,标签的属性就是对象的属性;
//                       双标签的内容对应的是innerText和innerHTML属性
//                    innerHTML指向的是内容的文本和标签;innerText指向内容的文本
                pNode = document.getElementById('p1')
                console.log(pNode,typeof(pNode),pNode.id)
                    
                    //通过class值获取节点:document.getElementsByClassName(class属性值)--返回的是数组
                    nodeArray1 = document.getElementsByClassName('c1')
                    //根据下标获取元素
                    cnode = nodeArray1[1]
                    cnode.title='大师'
                    
                    //通过标签名获取节点:document.getElementsByTagName(标签名)---返回的是数组
                    pnodes = document.getElementsByTagName('p')
                    
                    //通过name属性获取节点(基本没怎么用):document.getElementsByName(name属性值)
                    document.getElementsByName()
                
                //1.2 获取父节点
                    //子节点.parentElement  --- 获取指定节点对应的父节点
                    parentnode = pNode.parentElement
                    
                //1.3获取子节点
                    //获取所有子节点 : 节点.children --- 获取指定节点所有的子节点(不获取孙子节点)
                    children = parentnode.children
                    children1 = parentnode.childNodes                   
                    
                    //获取第一个子节点
                    firstnode = parentnode.firstElementChild
                    
                    //获取最后一个子节点
                    lastnode = parentnode.lastElementChild
                    
            //2.创建节点
                //document.createElement(标签名) --- 创建指定标签对应的节点对象
                //注意:创建的节点在没有添加在网页中国的时候是不会显示的
                inputnode = document.createElement('input')
                
            //3.添加节点
                div2node = document.getElementById('div2')
                //节点1.appendChild(节点2)   --- 在节点1的最后添加节点2
//              div2node.appendChild(inputnode) 
                
                //节点1.insertBefore(节点2,节点3)  -- 在节点1的节点3千插入节点2
                div2node.insertBefore(inputnode,div2node.firstElementChild)
                
            //4.拷贝节点   节点.cloneNode()   赋值指定节点,产生一个新的节点
                inputnode2 = inputnode.cloneNode()
                inputnode2.placeholder='新节点'
                div2node.appendChild(inputnode2)
                
            //5.删除节点: 
                // 节点1.removeChild(节点2) --- 删除节点1中的节点2
                div2node.removeChild(div2node.firstElementChild)
                // 节点.remove() -- 删除指定节点            
                div2node.remove()
            
            
        </script>
    </body>
</html>



<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>
    <body>
        <div id="" style="background-color: yellow;height: 10000px;">
            
        </div>
    </body>
</html>


<script type="text/javascript">
    //1.什么是BOM (Browser object model) 浏览器对象模型
        //js自带一个window对象,指向当前浏览器;js中所有的全局变量都是绑定在window对象上的属性
        //在使用的时候,window可以省略
        
//      
//      num = 10 // 相当于  window.num = 10 window 可以省略
//      function func1(){
//          Console.log('我是函数')
//      }
//      window.func1()
//      
    //2.window的基本操作
        //1.open(url,name属性,窗口大小)
            //1.打开新的窗口 -- 新的窗口打开
//              newwindow1 = window.open('https://www.baidu.com')
                
            //2.打开新的窗口 -- 同时设置宽高
//              newwindow2 = open('https://www.baidu.com','','width=400,height=300')
            
        //2.关闭窗口
            // 窗口对象.close()
            // window.close()  /  close()  关闭窗口
        
            //关闭其他窗口
//          newwindow2.close()
        
        //3.移动窗口
//          newwindow2.moveTo(200,200)
            
        //4.获取窗口宽度和高度
            //1.获取浏览器能够显示内容的宽度和高度
//          console.log(window.innerWidth,window.innerHeight)
            
            //2.获取整个浏览器的宽高
//          console.log(window.outerWidth,window.outerHeight)
        
    //3.弹框
        //1.只有确定按钮再加提示信息的弹框
            alert('提示信息!')
        
        //2. 一个提示信息和一个确定/取消按钮的弹框;根据返回值是true或者false来判断选择的是确定还是取消。
            result = confirm('是否删除?')
            console.log(result)
        
        //3. 一个提示信息和一个输入框和一个确定/取消按钮的弹框;根据返回值是否是null来判断点击的是确定还是取消
            result1 = prompt('提示信息1','输入框中的默认值')
            console.log(result1)
            
        
        
        
        
        
</script>



<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>
    <body>
        <font id="font1">5</font><font>秒后跳转!</font>
        <script type="text/javascript">
            num = 5
            f1node = document.getElementById('font1')
            t4 = setInterval(function() {               
//              num--               
//              if(num==0){
//                  clearInterval(t4)
                
                    window.open('https://www.baidu.com')
                }
                f1node.innerText = num
            },1000)
        
        
        </script>
    </body>
</html>

<script type="text/javascript">
    //开始定时
        //1.setTimeout --- 开始定时
            /*
             setTimeout(函数,定时时间,实参对象) --- 指定时间后调用指定函数,并且传入指定的参数
             函数 --- 可以是匿名函数,也可以是普通函数的函数名
             定时时间  -- 单位是毫秒
             实参对象 --- 以对象的方式给函数提供参数
             */
//          t1 = setTimeout(function(){
//              console.log('时间到!!')
//          },2000)
//          
//          t2 = setTimeout(function(name,age){
//              console.log(name,age)
//          },2000,'小王',18)
            
        //2.setInterval(函数,定时时间,实参对象)--- 每个指定的时间调用一次函数
//          num = 1
//          t3 = setInterval(function() {
//              
//              num++
//              console.log('····',num)
//              if(num==15){
//                  clearInterval(t3)
//              }
//          },1000)
        
    //2.清除定时
        //定时对象.clearTimeout()
//      clearTimeout(t1)
//      
//      //
//      clearInterval()
        
        
//      num = 5
//          t4 = setInterval(function() {
//              
//              num--
////                console.log(num)
//              
//              if(num==0){
//                  clearInterval(t4)
//                  window.open('https://www.baidu.com')
//              }
//          },1000)
//      
//      
        
        
</script>


<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>
    <body>
        <!--事件绑定方式1,不推荐使用!-->
        <button onclick="alert('你好')">按钮1</button>
        <button id="btn1" onclick="btnclick()">删除1</button>
        <br /><br />
        <!--事件绑定方式2,推荐使用-->
        <button id="btn3">删除</button>
        <button class="btn1">删除3</button>
        <button class="btn1">删除4</button>
        <button class="btn1">删除5</button>

        <br /><br />
        <!--事件绑定方法3,推荐使用-->
        <button id="btn4">按钮</button>
        
        
        
    </body>
</html>

<script type="text/javascript">
    // js是事件驱动语言
        // 1.事件三要素:事件源,事件,事件驱动程序
            // 事件源发生某个事件就是做什么事情(事件驱动程序)
        // 2.事件的绑定
            //1.在标签内部给标签的事件属性赋值
                //注意:这种方式绑定的时候,this指向的是window
            
        function btnclick(){
            result = confirm('是否删除?')
            if(result)
                document.getElementById('btn1').remove()
        }
            
            //2.通过给节点对象的事件赋值来绑定
                //注意: 这种方式绑定的时候,this指向的是事件源
                btnnode = document.getElementById('btn3')
                //给事件赋函数名
                btnnode.onclick = btnclick  
                
                btn1nodes = document.getElementById('btn1')
                for (x=0;x<btn1nodes.length;x++) {
                    btn1node = btn1nodes[x]
                    btn1node.onclick = function () {
                        result = confirm('是否删除?')
                        if (result) {
                            this.remove()   
                        }
                    }
                }
            
            //3.通过addEventListener
                // 事件源节点btn4node.addEventListener(事件名称,事件驱动程序)
                // 事件名称  --- 事件属性名去掉on
                // 事件驱动程序 --- 事件发生后需要调用的函数
                // 注意: this是事件源
                //   可以给同一个节点的同一个事件绑定不同的事件驱动程序
                    btn4node = document.getElementById('btn4')
                    btn4node.addEventListener('click',function () {
                        alert('你好')
                    })    // --- 在这个里面要把所有事件前面的on 去掉!!
            
                    btn4node.addEventListener('clink',function(){
                        this.style.color = 'red'
                    })
            
            
</script>



<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <script type="text/javascript">
            //1.onload事件 -- 页面加载完成对应的事件(标签加载成功)
            window.onload = function () {
                //写在这的代码,在页面加载完成之后才执行
                pnode = document.getElementById('p1')
                console.log(pnode)
            }   
        </script>
    </head>
    <body>
        <p id="p1">我是段落1</p>
        <input type="" name="input1" id="input1" value="" />
        <input type="" name="input2" id="input2" value="" />

    </body>
</html>
<script type="text/javascript">
    //2.鼠标事件
        pNode = document.getElementById('p1')   
        //1.onclick---鼠标点击事件
        pNode.onclick = function () {
            alert('p标签被点击')
        }
        //2.onemouseover --- 鼠标悬停事件
        pNode.onmouseover = function () {
//          alert('鼠标在标签上')
            this.style = 'background-color:yellow'
        }
        
        //3.onmouseout
        pNode.onmouseout = function () {
            this.style = 'background-color:pink'
        }
        
    //3.键盘事件
        //键盘事件一般绑定在输入框对应的标签上
        //onkeypress -- 按下弹起
        inputnode = document.getElementById('input1')
        inputnode.onkeypress = function(evt){
            console.log('键盘按下弹起')
            console.log(evt)
        }
        
        //onkeydown --按键按下  onkeyup --按键弹起
        
    //4.输入框事件
        //onchange -- 输入框中的内容的时候按回车发生改变
        inputnode2 = document.getElementById('input2')
        inputnode2.onchange =  function(){
            console.log('内容发生改变')
        }
        
        //oninput --
        inputnode2.oninput = function(){
            console.log('正在输入')
        }
        
        
    //5.事件对象
        //每个事件驱动程序中,都可以设置一个参数来表示当前事件对象。不同类型的事件对应的事件类型和事件属性不同
            //1.鼠标事件对象
                // clientx/clienty -- 鼠标的位置到浏览器左边和顶部的距离
                // offsetx/offsety -- 鼠标的位置到事件源标签左边和顶部的距离
        
            //2.键盘事件对象
                //key -- 哪个键盘被按下
            
            
</script>
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,524评论 5 460
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,869评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,813评论 0 320
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,210评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,085评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,117评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,533评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,219评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,487评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,582评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,362评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,218评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,589评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,899评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,176评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,503评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,707评论 2 335

推荐阅读更多精彩内容

  • 关键词:var 与 let 块级作用域 首先是let 的情况下,每次执行for循环,它都会产生一个局部的作用域,并...
    你喜欢吃青椒吗_c744阅读 184评论 0 1
  • CSS语法 1.格式: 选择器 { 样式1;样式2;} 2.CSS简单属性 width:宽度,单位px; heig...
    include_阅读 151评论 0 0
  • 6.1 基础语法(对象) 1.什么是对象:js中没有类,但是有对象;和python中的对象一样,拥有对象属性和方法...
    2333_11f6阅读 219评论 0 0
  • 有时候表达式里面需要转义字符串,比如"a\"b"这种,两个双引号中间有一个双引号,今天打算写这个功能。思路是,如果...
    蚊子爸爸阅读 425评论 0 1
  • 蜿蜒山路上, 慎驾避塌方。 弯曲红河水, 颠伏众壑梁。 云间难识道, 峰谷隐村庄。 缥缈如仙境, 幽思叹浩茫。
    了然居士pzk阅读 165评论 0 1