9.①通过js修改元素样式style②案例:超长协议:元素滚动事件onscroll他会在元素的滚动条滚动的时候触发③clientWidth;offsetWidth;scrollHeight;

目录

一:修改元素样式         元素.style.样式名 = 样式值

1.样式名通常可以直接写,但是如果样式名中带有-必须进行修改, 将-号去掉,-后的字母大写

 2.优先级小于 !improt  :通过style所修改的样式都是内联样式,所有修改完成后通常会立即生效

二:只读元素样式

         let aStyle = getComputedStyle(a);

               alert(aStyle.height)  //100px

三:获取到元素样式(高度)并参与计算

let countHeight = getComputedStyle(a).height

 alert(parseInt(countHeight) + 10 + 'px')

 四:获取其他只读样式(padiing和内文本;;;;;;;可见区域的) 获取的宽高不带单位,可以直接参与运算

1.盒子内部大小(内容区和内边距)☞padiing和内文本

        ①clientWidth        ②clientHeight

        ③event.clientX/Y是参照于视口获取的X/Y轴坐标

2.盒子可见框的大小(内容区、内边距和边框border)

        ①offsetWidth        ②offsetHeigh

3. ①offsetParent获取当前元素的定位父元素

                - 定位父元素是离当前元素最近的开启了定位的祖先元素,

                   如果所有的祖先元素都没有开启定位,则返回body

    ②offsetLeft 获取当前元素相对于其定位元素(offsetParent)的左侧偏移量

    ③offsetTop  获取当前元素相对于其定位元素(offsetParent)的上偏移量

    ④event.clientX/Y是参照于视口获取的X/Y轴坐标

4.获取元素可滚动区域的大小

        ①scrollHeight    获取对象可滚动的高度        ②scrollWidth     获取对象可滚动的宽度

5.获取元素已滚动的大小

        ①scrollTop      垂直已滚动        ②scrollLeft      水平已滚动

6.判断滚动条滚动到底

        ① 垂直:                scrollHeight - scrollTop === clientHeight        ② 水平:                scrollWidht - scrollLeft === clientWidth

五:案例:超长协议:监视滚动条

①onscroll 会在元素的滚动条滚动的时候触发    tiao.onscroll = function () {}


一:修改元素样式         元素.style.样式名 = 样式值

1.样式名通常可以直接写,但是如果样式名中带有-必须进行修改, 将-号去掉,-后的字母大写

             background-color --> backgroundColor

             border-left-width --> borderLeftWidth

 2.优先级小于 !improt  :通过style所修改的样式都是内联样式,所有修改完成后通常会立即生效

二:只读元素样式

         let aStyle = getComputedStyle(a);

               alert(aStyle.height)  //100px

三:获取到元素样式(高度)并参与计算

let countHeight = getComputedStyle(a).height

 alert(parseInt(countHeight) + 10 + 'px')

 四:获取其他只读样式(padiing和内文本;;;;;;;可见区域的) 获取的宽高带单位,可以直接参与运算

1.盒子内部大小(内容区和内边距)☞padiing和内文本

        ①clientWidth
        ②clientHeight

        ③event.clientX/Y是参照于视口获取的X/Y轴坐标

2.盒子可见框的大小(内容区、内边距和边框border)

        ①offsetWidth
        ②offsetHeigh

3. ①offsetParent获取当前元素的定位父元素

                - 定位父元素是离当前元素最近的开启了定位的祖先元素,

                   如果所有的祖先元素都没有开启定位,则返回body

        

    ②offsetLeft 获取当前元素相对于其定位元素(offsetParent)的左侧偏移量

    ③offsetTop  获取当前元素相对于其定位元素(offsetParent)的上偏移量

    ④event.clientX/Y是参照于视口获取的X/Y轴坐标

4.获取元素可滚动区域的大小

        ①scrollHeight    获取对象可滚动的高度
        ②scrollWidth     获取对象可滚动的宽度

5.获取元素已滚动的大小

        ①scrollTop      垂直已滚动
        ②scrollLeft      水平已滚动

6.判断滚动条滚动到底

        ① 垂直:                scrollHeight - scrollTop === clientHeight
        ② 水平:                scrollWidht - scrollLeft === clientWidth

五:案例:超长协议:监视滚动条

①onscroll 会在元素的滚动条滚动的时候触发    tiao.onscroll = function () {}

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

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        #tiao {
            width: 500px;
            height: 200px;
            background-color: chartreuse;
            overflow: auto;
        }
    </style>
    <script>
        window.onload = function () {

            // //点击测试按钮输出 滚动条可滚高度 、 滚动条
            // document.getElementById('cs').onclick = function () {
            //     let gHeight = document.getElementById('tiao').scrollHeight;  //获取对象可滚动的高度
            //     let wenbenH = document.getElementById('tiao').clientHeight;  //可见区域高 200px
            //     let gTop = document.getElementById('tiao').scrollTop;  //获取或设置对象已纵向滚动的距离            
            //     console.log(gHeight)
            //     console.log(wenbenH)
            //     console.log(gTop)
            // }
            // 获取两个按钮的id
            let t1 = document.getElementById('t1')
            let t2 = document.getElementById('t2')
            //获取div
            let tiao = document.getElementById('tiao')
            //onscroll 会在元素的滚动条滚动的时候触发
            tiao.onscroll = function () {
                let gHeight = tiao.scrollHeight;  //获取对象可滚动的高度
                let wenbenH = tiao.clientHeight;  //可见区域高 200px
                let gTop = tiao.scrollTop;  //获取或设置对象已纵向滚动的距离   
                if (Math.floor(gHeight - gTop) === wenbenH) {
                    // console.log('我滚完了~')
                    t1.disabled = false;
                    t2.disabled = false;
                }
            }


        }
    </script>
</head>

<body>
    <button id="cs">测试按钮</button>
    <h1>欢迎注册,请仔细阅读以下协议:</h1>
    <div id="tiao">
        亲爱的用户,请一定要看完并且遵守我们的协议,要不然就别注册
        亲爱的用户,请一定要看完并且遵守我们的协议,要不然就别注册
        亲爱的用户,请一定要看完并且遵守我们的协议,要不然就别注册
        亲爱的用户,请一定要看完并且遵守我们的协议,要不然就别注册
        亲爱的用户,请一定要看完并且遵守我们的协议,要不然就别注册
        亲爱的用户,请一定要看完并且遵守我们的协议,要不然就别注册
        亲爱的用户,请一定要看完并且遵守我们的协议,要不然就别注册
        亲爱的用户,请一定要看完并且遵守我们的协议,要不然就别注册
        亲爱的用户,请一定要看完并且遵守我们的协议,要不然就别注册
        亲爱的用户,请一定要看完并且遵守我们的协议,要不然就别注册
        亲爱的用户,请一定要看完并且遵守我们的协议,要不然就别注册
        亲爱的用户,请一定要看完并且遵守我们的协议,要不然就别注册
        亲爱的用户,请一定要看完并且遵守我们的协议,要不然就别注册
        亲爱的用户,请一定要看完并且遵守我们的协议,要不然就别注册
        亲爱的用户,请一定要看完并且遵守我们的协议,要不然就别注册
        亲爱的用户,请一定要看完并且遵守我们的协议,要不然就别注册
        亲爱的用户,请一定要看完并且遵守我们的协议,要不然就别注册
        亲爱的用户,请一定要看完并且遵守我们的协议,要不然就别注册
        亲爱的用户,请一定要看完并且遵守我们的协议,要不然就别注册
        亲爱的用户,请一定要看完并且遵守我们的协议,要不然就别注册
        亲爱的用户,请一定要看完并且遵守我们的协议,要不然就别注册
        亲爱的用户,请一定要看完并且遵守我们的协议,要不然就别注册
        亲爱的用户,请一定要看完并且遵守我们的协议,要不然就别注册
        亲爱的用户,请一定要看完并且遵守我们的协议,要不然就别注册
        亲爱的用户,请一定要看完并且遵守我们的协议,要不然就别注册
        亲爱的用户,请一定要看完并且遵守我们的协议,要不然就别注册
        亲爱的用户,请一定要看完并且遵守我们的协议,要不然就别注册
        亲爱的用户,请一定要看完并且遵守我们的协议,要不然就别注册
        亲爱的用户,请一定要看完并且遵守我们的协议,要不然就别注册
        亲爱的用户,请一定要看完并且遵守我们的协议,要不然就别注册
        亲爱的用户,请一定要看完并且遵守我们的协议,要不然就别注册
        亲爱的用户,请一定要看完并且遵守我们的协议,要不然就别注册
        亲爱的用户,请一定要看完并且遵守我们的协议,要不然就别注册
        亲爱的用户,请一定要看完并且遵守我们的协议,要不然就别注册
        亲爱的用户,请一定要看完并且遵守我们的协议,要不然就别注册
        亲爱的用户,请一定要看完并且遵守我们的协议,要不然就别注册
        亲爱的用户,请一定要看完并且遵守我们的协议,要不然就别注册
        亲爱的用户,请一定要看完并且遵守我们的协议,要不然就别注册
        亲爱的用户,请一定要看完并且遵守我们的协议,要不然就别注册
        亲爱的用户,请一定要看完并且遵守我们的协议,要不然就别注册
        亲爱的用户,请一定要看完并且遵守我们的协议,要不然就别注册
        亲爱的用户,请一定要看完并且遵守我们的协议,要不然就别注册
        亲爱的用户,请一定要看完并且遵守我们的协议,要不然就别注册
        亲爱的用户,请一定要看完并且遵守我们的协议,要不然就别注册
        亲爱的用户,请一定要看完并且遵守我们的协议,要不然就别注册
        亲爱的用户,请一定要看完并且遵守我们的协议,要不然就别注册
        亲爱的用户,请一定要看完并且遵守我们的协议,要不然就别注册
    </div>
    <input type="checkbox" name="" id="t1" disabled>我已仔细阅读,并严重同意以上协议
    <button disabled id="t2">注册</button>
</body>

</html>

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值