加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 创业 > C语言 > 正文

23w《javascript Dom编程艺术》学习笔记(下)

发布时间:2020-12-15 01:20:13 所属栏目:C语言 来源:网络整理
导读:充实文档内容 两项基本原则 1.渐进增强:核心是内容,从内容出发;根据内容使用标记实现良好的结构,然后逐步加强这些内容,包括通过CSS呈现效果,通过Dom加强行为 2.平稳退化:即使缺乏必要的CSS和DOM支持的访问者依然可以访问到核心内容 创建标记 dl(datal

充实文档内容

  • 两项基本原则
    1.渐进增强:核心是内容,从内容出发;根据内容使用标记实现良好的结构,然后逐步加强这些内容,包括通过CSS呈现效果,通过Dom加强行为

2.平稳退化:即使缺乏必要的CSS和DOM支持的访问者依然可以访问到核心内容

  • 创建标记 dl(datalist) dt(data title) dd(datadescript)

CSS-DOM

  • style属性 css中使用-分割单词,在js中使用驼峰法转换,示例如下:

 element.style.color //grey
    style = 'font-family:'Arial'' ==>element.style.fontFamily
    element.style.font = 'black'//设置元素的样式

设置样式的示例:

function styleHeaderSiblings(){
    if(!document.getElementByTagName) return false;
    var headers = document.getElementByTagName('h1');
    var elem ;

    if(var i=0; i<headers.length; i++){
        elem = getNextElement(headers.nextSibing);
        elem.style.fontWeight = 'bold';
        elem.style.fontSize = '1.2em';
        /*可以使用下面的代码替换
            .intro{
                font-weight : 'bold';
                font-size:1.2em
            }
            elem.setAttribute('class','intro');
        */ 

        /*或者使用下面的代码
        element.className = 'intro';
        */

    }
}</code></pre>
  • 修改元素的class属性值

使用JavaScript实现动画效果

  • 使用setTimeOut时需要赋值一个参数 var movement = setTimeOut('funcs',1000);

  • 使用clearTimeOut可以取消等待执行队列中的某个函数。clearTimeOut(movement)

  • 快速移动鼠标的setTimeOut处理 在元素上设置属性接收setTimeOut的值,如elem.movement = setTimeOut(repeat,interval); 在函数repeat重新执行的时候,使用if(elem.movement) clearTimeOut(elem.movement)判断

综合实例

  • 分别设置不同的样式 base.css layout.css typography.css(排版),然后使用base.css来包含

  • 一段导航条设置的代码

  • 关于for点击,获取文本框的焦点的实现

  • 关于 表单中的占位符

        element.onblur = function(){
            if(this.value == ''){
                this.className = 'placeholder';
                this.value = this.placeholder || this.getAttribute('placeholder');
            }
        }

        element.onblur();
    }
}</code></pre>

DOM补充

  • 兄弟关系型api

previousSibling:节点的前一个节点,如果该节点是第一个节点,则为null。注意有可能拿到的节点是文本节点或注释节点,与预期的不符,要进行处理一下。
previousElementSibling:返回前一个元素节点,前一个节点必须是Element,注意IE9以下浏览器不支持。

nextSibling:节点的后一个节点,如果该节点是最后一个节点,则为null。注意有可能拿到的节点是文本节点,与预期的不符,要进行处理一下。
nextElementSibling:返回后一个元素节点,后一个节点必须是Element,注意IE9以下浏览器不支持。

  • 子关系型api

childNodes:返回一个即时的NodeList,表示元素的子节点列表,子节点可能会包含文本节点,注释节点等。
children:一个即时的HTMLCollection,子节点都是Element,IE9以下浏览器不支持。
firstNode:第一个子节点
lastNode:最后一个子节点
hasChildNodes方法:可以用来判断是否包含子节点。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读