CSS+js

CSS
引用文件:<link rel="stylesheet" type="text/css" href="css的文件路径">

优先顺序:从上到下,从内到外。后加载的优先级要高

定位:relative  会使DIV漂浮 通过top left righr bottom
但是 它原来的位置不会被别的DIV 补上(不会把对象从文档流中拖出)
    而absolute 正好相反

Javascript
简介:基于对象和事件驱动的语言,应用于客户端
    基于对象:提供好了对象,可以直接拿过来使用
    事件驱动:html做网站静态效果,js动态效果
    客户端:专门指的是浏览器
特点:
    交互性(信息的动态交互)
    安全性(不可以直接访问本地硬盘)
    跨平台性(只要支持js的浏览器,都可以运行)
组成:
    1)ECM 
    2)BOM    浏览器对象模型
    3)DOM    文档对象模型
与html的结合方式
    1)使用一个标签 <script type="text/javascript"></script>
    2)引入外部的文件<script type="text/javascript" src="被引用的js文件路径"></script>    注意:使用该方式的时候,就不要在js标签里面写js代码,不会执行
var : 声明变量
type(变量名称)  查看变量的数据类型

js的语句:
    if语句
    switch语句
    while循环语句
    for循环语句

js的运算符
    字符串如果相加,做的事字符串连接
    相减,做的是相减的运算
    
    ==和===的区别
        == 比较的是 值
        === 比较的是 值和类型

    引入知识:
        直接向页面输出的语句:
            document.write();

js的函数:
    参数列表不需要写 var
    1)使用关键字 function
    function 方法名(参数列表){
        方法体;
        返回值(可有可无);
    }
    调用方法 : 方法名();
    2)匿名函数
    function (参数列表){
        方法体;
        返回值(可有可无);
    }
    3)new Function("参数列表","方法体和返回值");
    注意 2 和 3 方式如若要被调用,则需要去一个名字。


js的string对象:
    方法:
    1)与html相关的方法
        bold(); 加粗
        fontcolor();设置字符串的颜色
        fontsize():设置字体的大小
        link():将字符串显示称超链接
        sub() 下标  sup():上标
    2)与java相似的方法
        substr(a,b):从第a为开始,向后截取b个字符
        substring(a,b):从第a位开始到第b位结束 【3,5) 包前不包后

js的array对象
    方法:
        concat(arr):数组的连接
        join(str):根据指定的字符分割字符串
        push(元素):向数组末尾添加元素,并返回新的数组的长度 push添加一个数组,会把整个数组当成一个元素。

js的全局函数
    eval() :执行js代码
    encodeURI(); 对字符进行编码
    decodeURI():对字符进行解码
    
        encodeURIComponent()和decodeURIComponent()
    isNaN():判断当前字符串是否是数字 不是数字是true,是数字是false
    
js的重载(面试):
    1)js中不存在重载
    2)js中可以模拟实现重载的效果,js中的参数都存在 arguments 这个数组里面。用if-else来模拟
    if(arguments.length == 2){
        return arguments[0]+arguments[1];
    }else if(arguments.length == 3){
        return arguments[0]+arguments[1]+arguments[2];


js的bom对象:
    简介:浏览器对象模型。
    哪些对象:
        navigator:获取浏览器的信息。
        screen:获取显示屏的信息
        location:请求url地址  设置url地址
            鼠标点击事件:onclick=“js的方法”
        history:请求的url的历史记录
            back():到访问的上一个页面
            forward():到访问的下一个页面
        window(重要)
            属性:opener:得到创建这个窗口的窗口,可以跨页面操作
            窗口对象
            顶层对象(所有的bom对象都是在该里面操作的)
            方法:
                whindow.alert() 页面弹出一个框,显示内容。简写 alert(0;
                congirm(“显示内容”);  确认框
                prompt(“在显示的内容”,“输入框里面的默认值”):输入对话框
                open(): 打开一个新的窗口
                close():关闭窗口(兼容性差)
                
            做定时器的一些方法(笔试会问):
                **  setInterval(“js代码”,毫秒数) 表示每多少秒,执行一次js代码
                **  setTimeout(“js代码”,毫秒数)    表示在毫秒数之后执行,但是只会执行一次
                clearInterval(“由setInterval返回的ID”) 清除定时器
                clearTimeout(“由setTimeout返回的ID”) 清除定时器

js的dom对象
    dom:文档对象模型
    文档:超文本文档(超文本标记文档) html,xml
    对象:提供了属性和方法
    模型:使用属性何方法操作超文本标记型文档
    可以使用js里面的dom里面提供的对象,使用这些对象的属性和方法,对标记型文档进行操作


    解析过程:根据html的层级结构,在内存中分配一个树形结构,需要把html中的每一个部分封装成对象。
        document对象:整个html文档
        element对象:标签对象
        属性对象
        文本对象
        Node节点对象(是上面这些对象的父对象)


DHTML 是很多技术的简称
    html : 封装数据
    css : 使用属性和属性值设置样式
    dom :操作html文档
    js : 专门指的是js的语法语句
document对象
    表示整个的文档
    常用方法:
        write()方法:
            1)向页面输出变量(值)
            2)向页面输出html代码
        getElementById(“标签里面id的值”) 通过id得到标签
            标签对象.属性名称  就可以获得该id标签的属性值
        getElementsByName(“标签里面name的值”)     
            通过标签的name的属性值得到标签
            返回的是一个数组
                通过遍历数组可以得到每个标签里面具体的值
        getElementsByTagName(“标签的名称”)
            返回的是一个数组
                通过遍历数组可以得到每个标签
        

Element对象
    要操作element对象,就要先获取 document里面相对应的方法获取
    方法:
        获取属性里面的值:getAttribute("属性名称")
        设置属性的值: setAttribute("属性名","值")
        删除属性:removerAttribute("属性名")  不能删除value

      查找其他节点的唯一有效方法就是getElementsByTagName()方法,而该方法返回的是一个集合

Node对象属性一
    nodeName
    nodeType
    nodeValue
    使用dom解析html时候,需要html里面的标签,属性和文本都封装成对象
        标签节点对应的值:
            nodeType:1
            nodeName:大写标签名称 比如 span
            nadeValue:null
        属性节点对应的值:
            nodeType:2
            nodeName:属性名称 
            nadeValue:属性的值
        文本节点对应的值:
            nodeType:3
            nodeName:#text
            nadeValue:文本内容


Node对象属性二
    父节点
        parentNode:获得父节点
    子节点
        childNodes:得到所有子节点,但是兼容性很差
        firstChild:获取第一个子节点
        lastChild:获取最后一个子节点
    同辈节点
        nextSibling:返回一个给定节点的下一个兄弟节点
        previousSibling:返回一个给定节点的上一个兄弟节点


操作dom树
    appendChild    添加子节点到末尾
        特点:类似于剪切粘贴的效果
    insertBefore(newNode,oldNode)    在某一个节点之前插入一个新的节点
        两个参数:要插入的节点,    在谁之前插入

    removeChild    删除节点
                只能通过父节点来删除
    replaceChile(newNode,oldNode)    替换节点
    
    cloneNode(blooean(一般是true))


innerHTML属性
    这个属性不是dom的组成部分,但是大多数浏览器都支持的属性
    第一个作用:获取文本内容
        
    第二个作用:像标签里面设置内容(可以是html代码)

猜你喜欢

转载自blog.csdn.net/weixin_42598585/article/details/88375558