前端:JS/27/HTML DOM简介和新特性,HTML DOM访问HTML元素的方法,元素对象的属性(标准属性),noscroll事件,实例:书讯快递

HTML DOM简介和新特性

1,HTML DOM简介

核心DOM中,提供的属性和方法,已经可以操作网页了,为什么还要HTML DOM?
如果在核心DOM中,网页中节点层级很深时,访问这个节点时将十分的麻烦。因此使用HTML DOM中提供的通过id直接找节点的方法,而不用再从HTML根节点开始。

2,每一个HTML标记,都对应一个元素对象,如:<img>对应一个图片对象;<table>对应一个表格对象,等等

2

HTML DOM访问HTML元素的方法(频繁使用)

1,getElementById(id);

功能:查找网页中指定id的元素对象;
语法:var obj =document.getElementById(“id”);
参数:id是指网页中标记的id属性的值;
返回值:返回一个元素对象
例:var imgObj =document.getElementById(“img”);

2,getElementsByTagName(tagName)

功能:查找指定的HTML标记,返回一个数组。
语法:var arrObj =parentNode.getElementsByTagName(tagName);
参数:tagName是要查找的标记名称,不带尖括号;
返回值:返回一个数组,如果只有一个节点也返回一个数组;
例:找到ulTag下的所有li标记
4

元素对象的属性(标准属性)

5

1,tagName :标签名称,与核心DOM中的nodeName一样;
2,className :CSS类的样式;效果相当于HTML标记中加入class =“className”

3,id :同HTML标记id属性一样;
4,title :同HTML标记的title属性一样;
5,style :同HTML标记的style属性一样;

6,innerHTML :指包含在HTML标记中所有的内容,包括其中的HTML标记;

7,offsetWidth :元素对象的宽度,不带px单位;
8,offsetHeight :元素对象的高度,不带px单位;
9,scrollWidth :元素对象的总宽度,包括滚动条中的内容,不带px单位;
10,scrollHeight :元素对象的总高度,包括滚动条中的内容,不带px单位;
11,scrollTop :元素对象向上滚动过去了多少距离(有滚动条时才有效),不带px单位;
12,scrollLeft :元素对象向左滚动过去了多少距离(有滚动条时才有效),不带px单位;
例:
6

onscroll事件(属性) :当拖动滚动条时,调用JS函数

实例:书讯快递

1

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>JS实例:书讯快递滚动效果</title>
    <style type="text/css">
        body,
        ul,
        li {
            margin: 0px;
            padding: 0px;
        }

        ul,
        li {
            list-style: none;
        }

        body {
            font-size: 12px;
        }

        #dome {
            width: 200px;
            height: 250px;
            margin: 50px auto;
            border: 1px solid #000;
            overflow: hidden;
            /* 溢出内容隐藏*/

        }

        #dome li {
            padding: 0px 5px;
            /* li的内填充 */
        }

        #dome1 {
            background-color: #00FFFF;
        }

        #dome2 {
            background-color: #FFFF00;
        }
    </style>
    <script type="text/javascript">
        window.onload = function () {
            //1,获取三个<div>的id对象
            var dome = document.getElementById("dome");
            var dome1 = document.getElementById("dome1");
            var dome2 = document.getElementById("dome2");

            //2,三个<div>的高度一样
            dome1.style.height = dome.offsetHeight + "px";//这里的style是属性又是一个style对象,代表CSS对象;
            //style对象代表行内样式
            dome2.style.height = dome.offsetHeight + "px";
            //3,将dome1中的内容复制到dome2中
            dome2.innerHTML = dome1.innerHTML;
            //4,dome的scrollTop属性来实现滚动
            window.setInterval("start(dome)", 40);//定时器使40毫秒向上滚动1px
        }
        function start(dome) {//实现dome的滚动
            if (dome.scrollTop == dome.offsetHeight) {
                dome.scrollTop = 0;
            } else {
                dome.scrollTop++;//向上滚动1px
            }

        }
    </script>
</head>

<body>
    <div id="dome">
        <div id="dome1">
            <ul>
                <li>走到今日并非理所当然</li>
                <li>顽风尚然强劲不挠</li>
                <li>确实之物比想象中的</li>
                <li>不要少吧</li>
                <li>是因为记忆被岁月模糊了吗</li>
                <li>还是说心灵被未曾见过的陌生人所烦扰了呢?</li>
                <li>其实是支配躯体的疼痛啊</li>
                <li>即使这样还是来到了这里</li>
                <li>心无旁骛地瞻望终点就好</li>
                <li>仅此唯一的理由</li>
                <li>便是得以撒入回归之土</li>
                <li>但那浅淡微薄的梦想</li>
                <li>如能秉持初心不曾改变</li>
                <li>未来也就不会无聊了吧......</li>
            </ul>
        </div>
        <div id="dome2"></div>
    </div>

</body>

</html>

显示效果如下:
1
2

@沉木

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值