• doraemon的python web前端DOM和BOM (js重点)


    #### 11.8.3  BOM的系统对话框
    
    bom的系统对话框:
    
    - window.alert("liujia")   直接在页面中弹出对话框
    - window.confirm("你确定要删除文件吗?")    弹出是否眼删除文件,并且有确定和取消按钮
    - window.prompt("今天的天气是?")  会弹出对话框让你输入内容
    
    定时器方法
    
    ```html
    <script type='text/javascript'>
        //1.在5秒之后执行对应的操作,可以做异步
        window.setTimeout(function(){
            console.log("111");
        },2000)
        console.log("222")
        
        //2周期性定时器
        var num = 0;
        var timer = null;
        //开启定时器
        timer = window.setInterval(function{
                                   num++;
                                   if(num === 0){
            clearInterval(timer);  //清除定时器
        }
                          console.log(num); },2000)
    </script>
    ```
    
    #### 11.8.4 DOM 
    
    D:docunment文档
    
    O:object
    
    M;modle
    
    获取节点的是三种方法:
    
    - var box = document.getElementById("box")   通过id获取单个节点对象
    - var box = document.getElementsByTagName('div')  通过标签名来获取节点对象
    - var lis2 = document.getElementsByClassName("active"); 通过类名来过去
    
    对样式的操作:
    
    1 获取事件源对象
    
    - var box = document.getElementById('box'):
    
    2.绑定事件并执行更改
    
    - box.onmpuseover = function(){box.style.backgroundColor = 'red'}
    
    对属性的操作:
    
    1.获取事件的节点
    
    - var p1 = document.getElementById('id');
    
    2.设置属性
    
    - console.log(p1.getAttribute('class'))   必须要获取属性
    - p1.setAttribute('class',123)  如果原来存在class就对它进行更改,如果不存在就进行添加
    
    节点的创建删除:
    
    创建节点:
    
    - var li1 = document.createElement('li')  创建节点
    - li1.innerText = 'liujia'  在节点中添加内容,但只能设置文本
    - li1,innerHTML = ‘<a href="#"></a>’;  可以设置html
    - ll1.setAttribute("class","avtive");
    - li1.children[0].style.color = 'red';
    
    便利数据操作页面:
    
    ```html
    <script>
        var box = document.getElementById('box');
        var date = [
            {id:1,name:'小米2',subname:"前置双摄",price:1999}
            {id:1,name:'小米4',subname:"前置双摄",price:2999}
            {id:1,name:'小米5',subname:"前置双摄",price:3999}
            {id:1,name:'小米6',subname:"前置双摄",price:4999}
            {id:1,name:'小米8',subname:"前置双摄",price:5999}
        ]
        for (var i=0;i<data.length;i++){
            var li = document.creatElement('li');
            li.innerHTML = `<p class='name'>${data[i].name}</p>
            <p class="subname">${data[i].subname}</p>
            <span class="sprice">${data[i].price]元<span>`
            box.appendChild(li )
        }
    </script>
    ```
    
    切换图片:
    
    ```html
    <body>
        <div id = "box">
         <img src="images/1.jpg" alt="" id="imgbox">   
        </div>
        <button id = "prev">上一张</button> 
        <button id = "next">下一张</button>
    </body>
    <script>
        var imgbox = document.getElementById('imgbox');
        var next = document.getElementById('next');
        var prev = cocument.getElementById('prev');
        var num = 1;
        next.onclick = function(){
            nextImg();
        }
        function nextImg(){
            num++;
            if(num === 5){
                num = 1;
            }
            imgbox.src=`images/$[num}.jpg`;
        }
        setInterval(nextImg,100)
        prev.onclick=function(){
            prevImg();
        }
        function prevImg(){
            num = 5;
            num -= 1;
            if(num === 0){
                num=5
            }
            imbox.src=`images/${num}.jpg`
        }
        setInterval(prevImg,100)
    </script>
    ```
    
    函数对象中,可以通过那两个方法改变函数内部this的指向
    
    ```html
    function fn(){
        console.log(this);      //this指向了window
    }
    fn.call();
    fn.apply();
    
    ```
    
    如何设置节点对象的样式、属性、类?
    
    ```html
    设置样式
    obj.style
    设置属性:
    obj.setAttribute(name,value);
    obj.getAttribute(name);
    obj.className
    obj.title
    ```
    
    节点对象的创建,添加,删除分别用什么方法?
    
    ```html
    var op = document.creatElement('p');
    box.appendChild(op);
    box.insertBefore(newNode,oldNode);
    box.removeChild(op);
    ```
    
    l列出你所知道的js事件?
    
    - onclick
    - onmouseover
    - onmouseout
    - onchange
    - onselect
    - onsubmit
    - onload
    
    定时的方法有那两个?写出对应的方法,并说明含义?
    
    setTimeout(callback,毫秒)一次性任务,延迟操作,异步
    
    setInterval(callback,毫秒)周期性循环任务 动画 css transtion tranform
  • 相关阅读:
    2. jvm-sandbox之结构和状态
    1. jvm-sandbox之小试牛刀
    redux中间件来执行异步操作
    redux
    vue简单插件
    VUE搭建
    用element-ui进行文件的上传
    完整的node脚手架搭建服务
    使用node来搭建简单的后台业务
    解决vuex数据页面刷新后初始化问题
  • 原文地址:https://www.cnblogs.com/doraemon548542/p/11535491.html
Copyright © 2020-2023  润新知