web前端 -- Day21 js基础

元素移动

元素要实现移动,就要要脱离文档流 ,设置样式 position: absolute;
注意问题

  1. 如果样式的代码是在style标签中设置,外边是获取不到的。
  2. 如果样式的代码是在style属性中设置的 ,外边是可以获取的。

动画函数封装代码:

function animate(element, target) {
clearInterval(element.timeId);
//定时器的id值存储到对象的一个属性中
element.timeId = setInterval(function () {
  //获取元素的当前的位置,数字类型
  var current = element.offsetLeft;
  //每次移动的距离
  var step = 10;
  step = current < target ? step : -step;
  //当前移动到位置
  current += step;
  if (Math.abs(current - target) > Math.abs(step)) {
    element.style.left = current + "px";
  } else {
    //清理定时器
    clearInterval(element.timeId);
    //直接到达目标
    element.style.left = target + "px";
  }
}, 20);
}  

以后获取元素的宽高,应该使用offset系列来获取
offsetWidth:获取元素的宽
offsetHeight:获取元素的高
offsetTop: 获取元素距离上边位置的值
offsetLeft: 获取元素距离左边位置的值

console.log(my$("dv1").offsetWidth);
console.log(my$("dv1").offsetHeight);
console.log(my$("dv1").offsetTop);
console.log(my$("dv1").offsetLeft);

没有脱离文档流: offsetLeft:父级元素的margin+父级元素padding+父级元素的border

脱离文档流: 主要是自己的left和自己的margin

直接通过document获取元素

// 获取body
console.log("获取的是元素 -- 标签",document.body); 
// 获取title
console.log("获取的是标签中的值",document.title); 
document.title = "你瞅啥!!!";
console.log("获取的是HTML",document.documentElement);

图片跟着鼠标移动

这里注意要设置img的样式:position: absolute;

// 图片跟着鼠标移动
document.onmousemove = function(e){
    console.log("鼠标的事件",e);
    // clientX:可是区域的横坐标
    // clientY:可是区域的纵坐标
    my$("im").style.left = e.clientX+"px";
    my$("im").style.top = e.clientY+"px";
}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 14,160评论 1 92
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 28,819评论 1 45
  • CSS 是什么 css(Cascading Style Sheets),层叠样式表,选择器{属性:值;属性:值}h...
    崔敏嫣阅读 1,577评论 0 5
  • 一:在制作一个Web应用或Web站点的过程中,你是如何考虑他的UI、安全性、高性能、SEO、可维护性以及技术因素的...
    Arno_z阅读 1,365评论 0 1
  • 日更365天是2019年非常重要的一个计划。 目前公号日更了37天,粉丝增加了43个,写作带给我快乐,感觉特别好,...
    个人成长旅途阅读 196评论 4 2

友情链接更多精彩内容