• js 中 操作元素样式

    • 通过js修改元素内联样式(设置和读取的都是内联样式)
    • 获取当前元素显示的样式
      <html>
      <head>
      <meta charset="utf-8">
      <title></title>
      </head>
      <style type="text/css">
      #box1 {
      width: 200px;
      height: 200px;
      background-color: aquamarine;
      }
      </style>
      <body>
      <button type="button" id="btn1">点我下1</button>
      <button type="button" id="btn2">点我下2</button>
      <button type="button" id="btn3">点我下3</button>
      <br><br>
      <div id="box1"> </div>
      </body>
      <script type="text/javascript">
      window.onload = function() {
      var btn01 = document.getElementById("btn1");
      var box01 = document.getElementById("box1");
      btn01.onclick = function() {
      /*
      通过js修改元素内联样式:
      语法: 元素对象.style.样式名 = 样式值
      样式名: background-color 是不符合的, 需要改为驼峰命名: backgroundColor
      注意: 这种方法设置和读取的都是内联样式
      */
      box01.style.width = "400px";
      box01.style.height = "400px";
      box01.style.backgroundColor = "red";
      }
      /*
      获取当前元素显示的样式:
      语法: 元素对象.currentStyle.样式名 。 此方法只有IE浏览器支持
      其他浏览器获取样式: getComputedStyle(元素对象,null).样式名 ; */
      var btn2 = document.getElementById("btn2");
      btn2.onclick = function() {
      alert(box01.currentStyle.width);
      } var btn3 = document.getElementById("btn3");
      btn3.onclick = function() {
      var style_obj = getComputedStyle(box1, null);
      alert(style_obj.width);
      }
      }
      </script>
      </html>
  • js 中 事件对象
    • 当事件的响应函数被触发时,浏览器每次都会将一个事件对象作为实参传递进响应函数
    • 在这个事件对象中封装了当前事件相关的一切信息(鼠标的坐标、键盘那个键被按下,鼠标滚动的方向等)
    • 注意: 在ie8及以下浏览器中,响应函数触发时,不会传递事件对象。 事件对象是作为window对象的属性来存储的。
    • 以一个鼠标移入某个区域后显示x、y坐标为例子
      <html>
      <head>
      <meta charset="utf-8">
      <title></title>
      </head>
      <style type="text/css">
      #areaDiv {
      width: 200px;
      height: 100px;
      border: black 3px solid;
      margin-bottom: 10px;
      } #showMsg {
      width: 200px;
      height: 30px;
      border: black 3px solid;
      }
      </style>
      <body>
      <div id="areaDiv"></div>
      <div id="showMsg"></div>
      </body>
      <script type="text/javascript">
      var areaDiv = document.getElementById('areaDiv');
      var showMsg = document.getElementById('showMsg'); /*
      onmousemove 事件: 鼠标在元素中移动时触发
      事件对象: 当事件的响应函数被触发时,浏览器每次都会将一个事件对象作为实参传递进响应函数
      在这个事件对象中封装了当前事件相关的一切信息(鼠标的坐标、键盘那个键被按下,鼠标滚动的方向等)
      note: 在ie8及以下浏览器中,响应函数触发时,不会传递事件对象。 事件对象是作为window对象的属性来存储的。 */ areaDiv.onmousemove = function(e) {
      // 解决事件对象兼容性问题: 两种写法:
      // if (!e) {
      // e = window.e;
      // }
      e = e || window.e;
      showMsg.innerHTML = 'x坐标:' + e.clientX + ',y坐标:' + e.clientY;
      } areaDiv.onmouseout = function() {
      showMsg.innerHTML = '';
      }
      </script>
      </html>
  • 鼠标移动事件,实现某个div跟随鼠标移动(复制代码运行直接看效果更直观)
    <html>
    <head>
    <meta charset="utf-8">
    <title></title>
    </head>
    <style type="text/css">
    #box {
    position: absolute;
    width: 50px;
    height: 50px;
    background-color: #7FFFD4;
    }
    </style>
    <body style="height: 1200px;">
    <div id="box"> </div>
    </body>
    <script type="text/javascript">
    /*
    clientX 和 clientY 是获取当前可见页窗口的坐标
    pageX 和 pageY 是获取相对当前页面的坐标 (当页面可以往下滚动时,需要使用这个获取坐标),但是在IE8中不支持
    */
    document.onmousemove = function(e) {
    /*
    获取滚动条高度
    IE和火狐不识别滚动条属于body的, 谷歌、edge可以识别。
    IE和火狐认为滚动条属于html的。documentElement,但是edge识别不了html的滚动条
    */
    var st = document.body.scrollTop || document.documentElement.scrollTop;
    e = e || window.e;
    var box = document.getElementById('box');
    box.style.left = e.clientX + 'px';
    box.style.top = e.clientY + st + 'px';
    }
    </script>
    </html>

JavaScript基础回顾知识点记录6-操作元素样式和事件对象(介绍基本使用)的更多相关文章

  1. JavaScript基础回顾知识点记录4-正则表达式篇(介绍基本使用)

    js 中 正则表达式使用 创建正则对象和test方法使用 /* 创建正则表达式的对象 语法: var 变量 = new RegExp("正则表达式","匹配模式" ...

  2. JavaScript基础回顾知识点记录3

    js 中 垃圾回收 //将不在使用的对象设置为null , js就会自动进行垃圾回收机制 var obj = {}; obj = null; js 中 数组基本介绍 数组也是一个对象 与普通对象功能类 ...

  3. JavaScript基础回顾知识点记录2

    js 使用嵌套for循环输出三角形 for(var i=0; i<5; i++){ //正三角 // for(var j=0; j<i+1; j++){ // document.write ...

  4. JavaScript基础回顾知识点记录1

    js执行顺序为从上往下执行 js中有6种数据类型 基本数据类型为: String Number Boolean Null Undefined 引用数据类型为: Object 使用typeof 查看对象 ...

  5. Javascript基础回顾 之(三) 面向对象

    本来是要继续由浅入深表达式系列最后一篇的,但是最近团队突然就忙起来了,从来没有过的忙!不过喜欢表达式的朋友请放心,已经在写了:) 在工作当中发现大家对Javascript的一些基本原理普遍存在这里或者 ...

  6. Javascript基础回顾 之(一) 类型

    本来是要继续由浅入深表达式系列最后一篇的,但是最近团队突然就忙起来了,从来没有过的忙!不过喜欢表达式的朋友请放心,已经在写了:) 在工作当中发现大家对Javascript的一些基本原理普遍存在这里或者 ...

  7. Javascript基础回顾 之(二) 作用域

    本来是要继续由浅入深表达式系列最后一篇的,但是最近团队突然就忙起来了,从来没有过的忙!不过喜欢表达式的朋友请放心,已经在写了:) 在工作当中发现大家对Javascript的一些基本原理普遍存在这里或者 ...

  8. JavaScript 基础回顾——对象

    JavaScript是基于对象的解释性语言,全部数据都是对象.在 JavaScript 中并没有 class 的概念,但是可以通过对象和类的模拟来实现面向对象编程. 1.对象 在JavaScript中 ...

  9. javascript基础入门知识点整理

    学习目标: - 掌握编程的基本思维 - 掌握编程的基本语法 typora-copy-images-to: media JavaScript基础 HTML和CSS 京东 课前娱乐 众人皆笑我疯癫,我笑尔 ...

随机推荐

  1. 第6章 字符串(下)——C++字符串

    6.5 C++ strings(C++字符串) C风格字符串常见错误:试图去访问数组范围以外的元素:没有使用函数strcpy( )来实现字符串之间的复制:没有使用函数strcmp( )来比较两个字符串 ...

  2. Python数据分析--Numpy常用函数介绍(9)--Numpy中几中常见的图形

    在NumPy中,所有的标准三角函数如sin.cos.tan等均有对应的通用函数. 一.利萨茹曲线 (Lissajous curve)利萨茹曲线是一种很有趣的使用三角函数的方式(示波器上显示出利萨茹曲线 ...

  3. 内网 Ubuntu 20.04 搭建 docusaurus 项目(或前端项目)的环境(mobaxterm、tigervnc、nfs、node)

    内网 Ubuntu 20.04 搭建 docusaurus 项目(或前端项目)的环境 背景 内网开发机是 win7,只能安装 node 14 以下,而 spug 的文档项目采用的是 Facebook ...

  4. 我的第一个springboot starter

      在springboot中有很多starter,很多是官方开发的,也有是个人或开源组织开发的.这些starter是用来做什么的呐? 一.认识starter   所谓的starter,在springb ...

  5. rpm 系 linux 系统中 repo 文件中的 $release 到底等于多少?

    rpm 系 linux 系统中 repo 文件中的 $release 到底等于多少? 结论 对于 8 来说,通过以下命令 #/usr/libexec/platform-python -c 'impor ...

  6. UiPath文本操作Get Visible Text的介绍和使用

    一.]Get Visible Text(获取可见文本)操作的介绍 从指示的UI元素中提取字符串及其信息.执行屏幕抓取操作时,还可以自动生成此活动以及容器. 二.Get Visible Text在UiP ...

  7. 图片放在div中低下会出现一条缝

    页面要达到的样子 中间写的是时候是向div里面放一张图片就行了 <head> <link rel="stylesheet" href="reset.cs ...

  8. CompletableFuture的入门

    runAsync 和 supplyAsync runAsync接受一个Runable的实现,无返回值 CompletableFuture.runAsync(()->System.out.prin ...

  9. Python实现12种概率分布(附代码)

    今天给大家带来的这篇文章是关于机器学习的,机器学习有其独特的数学基础,我们用微积分来处理变化无限小的函数,并计算它们的变化:我们使用线性代数来处理计算过程:我们还用概率论与统计学建模不确定性. 在这其 ...

  10. Quick Pow: 如何快速求幂

    今天讲个有趣的算法:如何快速求 \(n^m\),其中 n 和 m 都是整数. 为方便起见,此处假设 m >= 0,对于 m < 0 的情况,求出 \(n^{|m|}\) 后再取倒数即可. ...