9.20-9.21学习内容
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Day5</title> <style> .box{ width: 500px; height: 500px; border: 2px dashed #000000; position: relative; } .dv1{ width: 300px; height: 300px; position: absolute; top: 50px; left: 60px ; background-color: #30ff8d; } .dv2{ width: 200px; height: 200px; position: absolute; right: 80px; background-color: #ff68ca; bottom: 40px; } #angel{ position: absolute; } </style> </head> <body> <div class = "box"> <div class="dv1"></div> <div class="dv2"></div> </div> <img src="images/tianshi.gif" alt="天使" id="angel"> <script> /* 利用定时器实现动画效果:通过每隔一点时间改变一次元素的一些样式属性,达到动画、渐变、过渡等效果 */ </script> <!-- 利用JS实现任意元素左右移动到任意位置元素移动的动画,并封装实现这一目的这个函数 见封装动画函数.html--> <!--轮播图案例--> <script> /* * 添加一个自定义属性:对象.setAttribute("属性名",属性值) * 获取自定义属性值:不能用.的方式,要用对象.getAttribute(属性名) * 克隆节点:节点.cloneNode(布尔值) 返回一个这个节点一样的节点,布尔值为true则克隆完整的节点,布尔值为false则只克隆外部,没有内容 * */ /* *用元素.style.属性只能获取标签内用style = "属性名:属性值;"里设置的属性,不能获取在头部的style标签中设置的属性 * 用DOM元素的一个方法可以获取任意方式设置的属性:对象.offsetLeft可以获取left属性值, * 注意:用style.属性可以获取,也可以修改属性值,但是用offset只能获取访问,不能修改属性值。 * 其他的还有offset方法 * element.offsetTop * 没有offsetRight和offsetBottom方法。 * element.offsetHeight * element.offsetWidth * */ var dv1 = document.getElementsByClassName("dv1")[0]; var dv2 = document.getElementsByClassName("dv2")[0]; console.log(dv1.style.top);//报错 console.log(dv1.offsetTop);//50 console.log(dv1.offsetLeft);//60 console.log(dv2.offsetLeft);//220 console.log(dv2.offsetTop);//260 console.log(dv1.offsetHeight);//300 console.log(dv1.offsetWidth);//300 /* * offsetLeft 和offsetTop: * 当目标元素没有定位时, * 获得的left和top包括:父元素的margin,border,padding,自身的margin。不包括自身的border和padding * *当目标元素使用定位,脱离文档流时: * 获得的left和top包括:自身定位的left、top和自身的margin * * */ //可以直接获取的DOM对象 document.body;//body document.title;//title document.documentElement;//获取html var mousePic = document.getElementById("angel"); console.log(mousePic); document.onmousemove = function (e) { var x = e.clientX; var y = e.clientY; console.log("x"+x); console.log("y"+y); //鼠标移动的事件函数参数中的clientX和clientY的值表示鼠标所在的可视范围的xy坐标 mousePic.style.left = x +"px"; mousePic.style.top = y + "px"; } </script> <script> </script> </body> </html>