第十九天H5进阶
来源:互联网 发布:淘宝代理加盟违法吗 编辑:程序博客网 时间:2024/05/17 21:52
DOM对样式的操作
- 操作元素的内联样式: - 语法:元素.style.样式名 = 样式值 - 读取样式:元素.style.样式名- 注意: 以上的操作样式的方式都是操作的内联样式, 由于内联样式的优先级比较高,所以设置以后的样式往往会优先显示出来。 读取样式时同样也是读取的内联样式,而样式表中的样式是不能通过这种方式读取的。
- 读取元素的样式(包括样式表中的样式) - IE8和以下的浏览器 元素.currentStyle.样式名 - 正常的浏览器 getComputedStyle(元素,null).样式名 - 这两种方式获取到样式的对象都是只读的,不能通过他们修改样式
- 其他的样式的读取: 元素.clientWidth 元素.clientHeight - 获取元素的可见框的大小(包括内容区和内边距,不包括边框) 元素.offsetWidth 元素.offsetHeight - 获取元素的可见框的大小,和上边不同的是他们包括边框 offsetParent - 获取当前元素的定位元素 offsetTop - 获取当前元素相对于其定位元素的垂直偏移量 offsetLeft - 获取当前元素相对于其定位元素的水平偏移量 scrollHeight scrollWidth - 获取当前元素整个滚动范围的宽度和高度 scrollTop scrollLeft - 滚动条垂直和水平方向滚动的距离 注意:以上几个属性返回的值都是Number类型,不带px,可以直接计算 判断滚动条是否滚动到底: 垂直方向:scrollHeight - scrollTop == clientHeight; 水平方向: scrollWidth - scrollLeft == clientWidth; onscroll --> 元素滚动条滚动的实际
事件
- 在JS中的事件是基于观察者模式 - 事件有这么几个要素: 事件源(被监听的对象):元素 事件:监听哪些内容:click事件 scroll事件 mouseover事件 。。。。 监听器:监听事件源,当事件触发时,调用回调函数 回调函数:事件发生时需要做的事情
- 为元素设置一个监听器: 第一种方式: 元素.事件属性 = 回调函数; -这种方式只能为一个元素的一个事件绑定一个处理函数,不能绑定多个,一旦绑定多个则后边的会把前边的覆盖。 第二种方式: 元素.addEventListener("事件名",回调函数,false); addEventListener()需要三个参数: 1.事件的名字的字符串,注意不带on。click mouseenter 。。。 2.事件的处理函数,当事件发生时函数会执行 3.是否在捕获阶段执行事件,都传false IE8的方式: 元素.attachEvent("事件名",回调函数); attachEvent需要两个参数: 1.事件的名字的字符串,注意需要on。onclick onmouseenter... 2.事件的回调函数 - 注意:addEventListener()绑定的回调函数中的this就是当前的元素。 而attachEvent()绑定的回调函数中的this永远都是window。- 事件对象: - 在事件的响应函数被触发时,浏览器每次都会传递进一个事件对象(Event) 在这个事件对象中封装了当前事件相关的一切信息,鼠标的坐标、键盘的那个按键被按下。。。 - 但是注意在IE8以下的浏览器中,它不会传递事件对象,而是将事件对象作为window对象的属性保存, 所以为了处理兼容性的问题,需要编写这样的代码 - 例子: 元素.onclick = function(event){ event = event || window.event; };- 冒泡: - 冒泡简单来说就是事件的向上传导。 - 后代元素上的事件被触发也会导致祖先元素上的相同事件被触发。 - 开发中很多情况我们可以去利用冒泡,但是有些情况我们不希望事件冒泡。 这是我们可以设置事件对象cancelBubble = true; - 例子: 元素.onclick = function(event){ event = event || window.event; event.cancelBubble = true; };
阅读全文
0 0
- 第十九天H5进阶
- 第九天H5进阶
- 第十天H5进阶
- 第十一天H5进阶
- 第十三天H5进阶
- 第十五天H5进阶
- 第十七天H5进阶
- 第十八天H5进阶
- 第十九天
- Java进阶学习第十九天——dbutils与案例
- 世界杯第十九天
- 第十九天:听课笔记
- 第十九天:总结
- 第十九天总结0415
- 星海第十九天
- 第十九天博客
- 第十九天:IO流
- php实战第十九天
- 解决boot空间不足
- TensorFlow下cnn一些调参经验
- VCF格式详解
- codevs1051 接龙游戏(栈模拟)
- spring boot应用启动原理分析
- 第十九天H5进阶
- JBOSS7不打包发布web应用
- 抛弃格子衫和冲锋衣_程序员该如何穿?
- Kotlin_局部变量_val_var
- Java POI SAX 处理海量数据读取(可用)
- Android开发人员不得不收集的代码(持续更新中)
- nginx 502 Bad Gateway 错误问题收集
- centos6.5升级openssh和openssl +修改ssh端口为自定义
- 1