首页 > 编程语言 >JavaScript基础回顾知识点记录7-事件补充说明2

JavaScript基础回顾知识点记录7-事件补充说明2

时间:2022-08-26 08:55:52浏览次数:154  
标签:知识点 style JavaScript 回顾 px move mile box1 event

  • js 中 鼠标滚轮事件
    • offsetWidth/offsetHeight - 对象的可见宽度/高度
    • clientWidth/clientHeight - 内容的可见宽度/高度
    • scrollWidth/scrollHeight - 元素完整的高度和宽度,overflow:hidden的部分也计算在内。
    • offsetLeft/offsetTop - 当前元素距浏览器边界的偏移量,以像素为单位
    • clientTop/clientLeft - 当前元素上边框、左边框的宽度
      <html>
      	<head>
      		<meta charset="utf-8">
      		<title></title>
      	</head>
      	<style type="text/css">
      		#box1 {
      			height: 100px;
      			width: 100px;
      			background-color: #7FFFD4;
      		}
      	</style>
      	<body style="height: 2000px;">
      		<div id="box1">
      
      		</div>
      	</body>
      	<script type="text/javascript">
      		window.onload = function() {
                          /*
                            上次讲的兼容不同浏览器绑定事件的封装方法
                          */
      			function bind(obj, eventStr, callback) {
      				if (obj.addEventListener) {
      					obj.addEventListener(eventStr, callback, false);
      				} else {
      					obj.attachEvent(eventStr, callback);
      				}
      			}
      			/*
      				onmousewheel 鼠标滚轮事件, 火狐浏览器不支持
      				在火狐中使用 DOMMouseScroll 来绑定滚轮事件,该事件需要使用addEventListener()绑定
      					
      				event.wheelDelta可以获取鼠标滚轮的方向,向上滚正值,向下滚负值
      				但是火狐中不支持,需使用event.detail,向下滚正值,向上滚负值
      			*/
      			var box1 = document.getElementById('box1');
      			box1.onmousewheel = function(e) {
      				e = e || window.e;
      				if (e.wheelDelta > 0 || e.detail < 0) {
      					box1.style.height = box1.clientHeight - 10 + 'px';
      				} else {
      					box1.style.height = box1.clientHeight + 10 + 'px';
      				}
      				/*
      					使用addEventListener()方法绑定,不能使用return false 取消默认行为
      					需要使用 event.preventDefault(); 但是在IE8中不能使用
      				*/
      				e.preventDefault && e.preventDefault();
      				/*
      					当滚轮滚动时,如果浏览器有滚动条,则滚动条会随之发生滚动
      					这属于浏览器默认行为,可以取消默认行为
      				*/
      				return false;
      			}
      			bind(box1, "DOMMouseScroll", box1.onmousewheel);
      		}
      	</script>
      </html>
      
  • js 中 键盘事件
    • onkeyup - 键盘松开
    • onkeydown - 键盘按下
    • event.keyCode - 键盘按键的编码 (eg: 37- 左 、38 - 上、39 - 右、40 - 下)
    • 键盘移动div元素
      <html>
          <head>
              <meta charset="utf-8">
              <title></title>
          </head>
          <style type="text/css">
              #box1 {
                  height: 100px;
                  width: 100px;
                  background-color: #00FFFF;
                  position: absolute;
              }
          </style>
          <body>
              <div id="box1">
      
              </div>
          </body>
          <script type="text/javascript">
              var box1 = document.getElementById('box1');
              // 每次按下位移的距离
              var move_mile = 10;
              document.onkeydown = function(e) {
                  // 当用户按了ctrl后,加速
                  if (event.ctrlKey) {
                      move_mile = 50;
                  }
                  switch (e.keyCode) {
                      case 37:
                          box1.style.left = box1.offsetLeft - move_mile + "px";
                          break;
                      case 38:
                          box1.style.top = box1.offsetTop - move_mile + "px";
                          break;
                      case 39:
                          box1.style.left = box1.offsetLeft + move_mile + "px";
                          break;
                      case 40:
                          box1.style.top = box1.offsetTop + move_mile + "px";
                          break;
                  }
              }
          </script>
      </html>
      

标签:知识点,style,JavaScript,回顾,px,move,mile,box1,event
From: https://www.cnblogs.com/study-hmz/p/16626412.html

相关文章

  • java中的字符流知识点总结
    java中字符流字符流:对文本的读取,速度比字节流快常见的字符流:Reader和WriterReader是InputStreamReader的父类,InputStreamReader是FileReader的父类FileReader的相......
  • JavaScript快速入门-06-函数
    6函数6.1函数定义  函数可以封装语句,然后在任何地方、任何时间执行。JavaScript中的函数使用function关键字声明,主要由函数名、函数参数和函数体组成。其基本语法......
  • 2022-8-25第一组孙乃宇JavaScript
    JavaScript最后元素的属性获取元素的属性所有的HTML元素,我们可以根据具体需求,自定义添加属性<divhaha="abc"id="xyz"name="123"></div>获取这个属性的值为什么na......
  • JavaScript知识-函数基础知识、匿名函数、闭包函数、箭头函数、js内置对象和方法
    目录JavaScript函数1.函数的语法格式2.无参函数3.有参函数4.关键字arguments5.函数返回值关键字return6.匿名函数(没有函数名)7.箭头函数8.函数的全局变量与局部变量9.闭包......
  • JavaScript中改变鼠标指针样式的方法
    JavaScript中改变鼠标指针样式的方法    在js中我们可以通过style对象的cursor属性来设置鼠标指针的样式,例varbody=document.querySelector("body") body.style......
  • ArchSummit回顾:从云原生到实时数据湖,架构如何支撑业务发展
    【点击了解更多网易热点】数字化、自动化、智能化的主旋律下,架构的进化也在提速。在近日举办的ArchSummit全球架构师峰会上,网易数帆高级技术专家、资深架构师裴斐和网易数......
  • python 3 用pyexecjs 执行 javascript 代码
    #运行js代码e=execjs.eval('a=newArray(1,2,3)')#execjs.eval()获取js环境,直接执行js代码,适用于简单的运算适用于从前端读取js代码然后运行(前后......
  • 讲座回顾丨基于 OpenYurt 和 EdgeX 的云边端协同新可能
    作者:EdgeXFoundry2022EdgeX中国挑战赛暨中关村国际前沿科技创新大赛EdgeX专题赛正式拉开帷幕。本次大赛分设两大赛道:医疗、教育、消费行业赛道和能源、工业、供应链......
  • Javascript:设计模式-简单工厂模式
    工厂模式大体分为三类:简单工厂模式、工厂方法模式、抽象工厂模式。在我们日常的实现功能逻辑中,最基础的一种方法是这样的:有一个体育器材店,每一种类型的运动器材都有名称......
  • Javascript:实现继承的几种方式
    既然要实现继承,那么首先我们得有一个父类,代码如下://定义一个动物类function Animal(name){  //属性  this.name=name|| 'Animal';  //实例......