zoukankan      html  css  js  c++  java
  • 前端学习(二十四)一些总结(笔记)

    javascript的组成部分?
        ECMAScript             核心解释器
        DOM                 文档对象模型
        BOM                 浏览器对象模型

        DOM
            DOM树
                html页面的结构关系
            获取子节点
                父级.children             获取第一层子节点
            获取父节点
                结构父级
                    oEle.parentNode
                定位父级
                    oEle.offsetParent
            创建节点
                document.createElement('标签名');
            插入
                父级.appendChild(新节点);
                    从父级的后面添加
                父级.insertBefore(新节点,在谁之前插入);
                    在某个节点之前插入
            删除    
                父级.removeChild(子节点);
    事件
        事件对象
            包含了事件触发的详细信息
            ev         高版本浏览器
            event     低版本浏览器
            oBtn.onclick = function(ev){
                var oEvent = ev||event;
                oEvent.clientX
                oEvent.clientY

                oEvent.pageX
                oEvent.pageY
            };

            事件绑定(事件监听)
                oEle.addEventListener('sEv', fn, false);
                高版本
                oEle.attachEvent('onsEv', fn);
                低版本

            定义函数
            function addEvent(obj, sEv, fn){
                if(obj.addEventListener){
                    obj.addEventListener(sEv,fn,false);
                }else{
                    obj.attachEvent('on'+sEv,fn);
                }
            }
            调用
            addEvent(oBtn,'click',function(){
                alert(1);
            });

            事件解绑
            定义函数
            function removeEvent(obj, sEv, fn){
                if(obj.removeEventListener){
                    obj.removeEventListener(sEv,fn,false);
                }else{
                    obj.detachEvent('on'+sEv,fn);
                }
            }
            调用
            removeEvent(oBtn,'click',function(){
                alert(1);
            });

            匿名函数不能被解绑

            原因:匿名函数虽然长得一样,但是不是一个
                var show = new Function();
                function show(){}

            事件流
                DOM事件流
                    冒泡阶段         捕获阶段
                IE事件流
                    冒泡阶段


                取消冒泡
                    ev.cancelBubble = true;

            默认事件、默认行为
                浏览器自己实现的功能
                阻止默认事件
                    return false;
                    遇到addEventListener不兼容
                    ev.preventDefault&&ev.preventDefault();

            事件委托、事件委派、事件派生
                给父级添加事件
                获取事件源
                    var oSrc = ev.srcElement||ev.target;


            onmouseover和onmouseout的bug
                换事件
                    onmouseenter
                    onmouseleave

            DOMReady
                方法一          推荐
                    document.addEventListener('DOMContentLoaded',function(){

                    },false);
                方法二
                    document.onreadystatechange = function(){
                        if(document.readyState=='complete'){

                        }
                    };
    ================================================================
    键盘事件
        键盘按下事件
            onkeydown
        键盘抬起事件
            onkeyup

            区分按键:键码
                oEvent.keyCode

                backspce         8
                回车             13
                空格             32

    =============================================================
        拖拽回放
    =============================================================
    jquery
        $(function(){

        })();
        推荐以下做法
        $(document).ready(function(){

        });


        DOM操作
            appendTo
            prependTo
            remove



    ------------------------------------------------------------
    JQuery中的事件
        都是绑定上去的
            $().on             绑定事件
            $().off          解绑事件

            事件委托
            $('ul').on('click','li',function(){

            });
    =============================================================
        原生对象和jquery对象
            原生对象
                document.getElementById();
                document.getElementsByTagName();
            jquery对象
                $();

                原生对象和jquery对象不互通。

                原生对象和jquery对象之间的转换
                    原生对象-》jquery对象
                        $(原生对象)
                    jquery对象-》原生对象
                        $().get(下标)
                        $()[下标]

        $().each()             //操作jquery元素的
            $('ul li').each(function(index,oEle){
                index             索引
                oEle             遍历出来的原生对象
                this             遍历出来的原生对象

                oEle==this
            });
    =============================================================


        获取相对位置
        obj.offsetLeft
        obj.offsetTop


        $().position()

        --------------------------------------------------

        获取绝对位置
        getPos().left/top


        $().offset()
    =============================================================
        宽
        $().width()
        高
        $().height()
        宽+padding*2
        $().innerWidth()
        高+padding*2
        $().innerHeight()

        宽+padding*2+border*2
        $().outerWidth()
        高+padding*2+border*2
        $().outerHeight()

    =============================================================
        插件机制
            定义一个插件
            $.fn.toRed = function(){
                this.css('background','red');
            };
            批量定义插件             √
            $.fn.extend({
                名字:function(){}
            });
    ============================================================
        jquery中
            return false
                阻止默认事件
                取消冒泡
    ============================================================
    CSS3
        选择器
        transition
        transform
        text-shadow
        linear-gradient
        radial-tradient
        border-radius
        animation
        -webkit-mask
        浏览器前缀

        box-shadow: x y blur color;


    =====================================================
        浏览器前缀
            -webkit-         Chrome、Safari、Opera
            -moz-             Firefox
            -ms-             IE
            -o-             Opera
            不加前缀


            -webkit-transition:1s all ease;
            -moz-transition:1s all ease;
            -ms-transition:1s all ease;
            -o-transition:1s all ease;
            transition:1s all ease;


            用js操作浏览器前缀
            css                     js
            -webkit-transition        WebkitTransition
            -moz-transition         MozTransition
            -ms-transition             msTransition
            -o-transition            OTransition
            transition              transition


            setC3Style(obj,sName,sValue);

        transform         变形
            rotate             旋转         deg
            translate         平移
            scale             缩放

            原点
                中心点
                transform-origin

            CSS3简易时钟

                1圈         360°
                12h         1h     ==     30°
                60m         1m     ==     6°
                60s         1s    ==    6°


                5             1
                10             2
                15             3
                20            4
    ==============================================================
        transform     多个值
            有先后执行顺序,后面的先执行
        transform 注意
            不能操作行元素

        文本切片
            -webkit-background-clip:text;
            -webkit-background-clip     一定要设置在背景颜色后面
    ==============================================================
        移动端
            手机、平板、watch、电视

            pc端怎么写,移动端就怎么写。
            而且还简单了。不需要注意兼容。东西少。
            只不过移动端需要注意尺寸。


            移动端方式:
                定宽
                百分比
                ----------------------------------------------
                响应式
                    只有一套页面,在不能尺寸的设备上用不同的样式
                弹性
                rem
    =============================================================
    总结:
        键盘事件
            onkeydown             键盘按下
            onkeyup                 键盘抬起

                获取键码
                    oEvent.keyCode

        JQuery
            $(document).ready();
            事件
                $().on(sEv,['委托'],function(){});
                off
            循环
            $().each(function(index,oEle){
                index             索引
                oEle             原生对象
                this             原生对象
            });
            原生对象和jquery对象的转换
                原生对象-》jquery对象
                    $(原生)
                jquery对象-》原生对象
                    $()[下标]
                    $().get(下标)
            宽高
            $().width()
            $().height()
            宽高+padding
            $().innerWidth()
            $().innerHeight()
            宽高+padding+border
            $().outerWidth()
            $().outerHeight()

            获取定位
                相对定位
                    $().position().left/top;
                绝对定位
                    $().offset().left/top;
            插件扩展
                //jquery中所有的this都是原生对象,只有一个例外
                插件中的this是jquery对象
                $.fn.xxx = function(){
                };
                $.fn.extend({
                    xxx:function(){}
                });

            取消冒泡,阻止默认事件
                return false;

                单独阻止默认事件
                    ev.preventDefault()
                单独取消冒泡
                    ev.stopPropagation();
    -------------------------------------------------------
        CSS3
            浏览器前缀
                -webkit-             Chrome,Safari,Opera
                -moz-                 Firefox
                -ms-                 IE
                -o-                 old Opera
                不加前缀             
            transform
                原点
                    -webkit-transform-origin
                transform的书写顺序:
                    后写的先执行
                文本切片
                    -webkit-background-clip:text;
                    切记,一定要写在背景色后面。

  • 相关阅读:
    可以兼容ie6的纯CSS三级鼠标悬停显示/隐藏菜单实现
    关于网页中行内元素的基线(baseline)、行高(line-height)、垂直对齐(vertical-align)等
    [z]CSS在Internet Explorer 6, 7 和8中的差别
    POJ 2318--TOYS(二分找点,叉积判断方向)
    博弈论笔记--05--纳什均衡之坏风气与银行挤兑
    博弈论笔记--04--足球比赛与商业合作之最佳对策
    博弈论笔记--03--迭代剔除和中位选民定理
    博弈论笔记--02--学会换位思考
    博弈论笔记--01--五个入门结论
    C++新闻检索类
  • 原文地址:https://www.cnblogs.com/wxiaoyu/p/9579364.html
Copyright © 2011-2022 走看看