迹忆客 专注技术分享

当前位置:主页 > 学无止境 > WEB前端 > JavaScript >

在 JavaScript 中移动元素位置

作者:迹忆客 最近更新:2023/03/10 浏览次数:

这篇文章教你如何在 JavaScript 中移动元素位置。例如,如果按下右箭头键,则将元素向右移动。

我们可以使用 element.style 属性通过键盘箭头键向上、向下、向右或向左移动元素。

在 JavaScript 中使用箭头键移动元素位置

<!DOCTYPE html>
<html>
 	<head>
 		<title>Move Element</title>
 	</head>
 	<body>
 		<div class="circle"></div>
 	</body>
</html>
.circle {
  height: 80px;
  width: 80px;
  border-radius: 50%;
  background-color: blue;
}
let myCircle = document.querySelector('.circle');

window.addEventListener('load', () =>{
 	myCircle.style.position = 'absolute';
 	myCircle.style.left = 0;
 	myCircle.style.top = 0;
});

window.addEventListener('keyup', (event) => {
 switch (event.key) {
 	case 'ArrowLeft':
 		myCircle.style.left = parseInt(myCircle.style.left) - 5 + 'px';
 		break;
 	case 'ArrowRight':
 		myCircle.style.left = parseInt(myCircle.style.left) + 5 + 'px';
 		break;
 	case 'ArrowUp':
 		myCircle.style.top = parseInt(myCircle.style.top) - 5 + 'px';
 		break;
 	case 'ArrowDown':
 		myCircle.style.top = parseInt(myCircle.style.top) + 5 + 'px';
 		break;
 	default:
 		alert("Only Arrow Keys Are Allowed!");
    }
});

输出:

在 javascript 中移动元素位置 - 移动圆圈

在上面的输出中,我们使用箭头键上下左右移动元素。首先,在本例中,我们使用 querySelector() 选择类为 circle 的元素,该元素是 <div>

然后,我们使用 load 事件,该事件将在网页完全加载后触发。此事件将 <div> 元素移动到左上角。

此外,我们将 keyup 事件侦听器附加到窗口。每当从窗口中的任何位置按下箭头键时都会触发它。

最后,我们使用 parseInt() 函数转换为数字并加/减 5px 以移动元素。假设我们必须移动另一个不是数学形状的元素。

使用 箭头键 使用 jQuery 移动元素位置

<!DOCTYPE html>
<html>
	<head>
		<title>Move Element</title>
	</head>
	<body>
 		<h1 class="hOne">Heading One</h1>
	</body>
</html>
h1{
  position: absolute;
  top: 0;
  left: 0;
  width: 200px;
  height: 40px;
  border: 5px solid #BADA55;
  color: #A28;
  margin: 0;
  text-align: center;
}
$(document).keydown(function(e){
 	switch (e.which){
 		case 37:    //left arrow key
 			$(".hOne").finish().animate({
 				left: "-=30"
        	});
 			break;
       	case 38:    //up arrow key
 			$(".hOne").finish().animate({
 				top: "-=30"
        	});
 			break;
       	case 39:    //right arrow key
 			$(".hOne").finish().animate({
 				left: "+=30"
        	});
 			break;
        case 40:    //bottom arrow key
 	   		$(".hOne").finish().animate({
 				top: "+=30"
        	});
 			break;
    }
});

输出:

在 javascript 中移动元素位置 - 移动标题

在本例中,我们使用键盘的箭头键移动 <h1> 元素。每当在 document 中按下箭头键时,元素都会移动 30px

jQuery 的 keydown() 方法 触发 HTML 元素上的事件或将事件处理程序绑定到 keydown JavaScript 事件。

event.which 用于鼠标或键事件,并指示在这种情况下按下的特定键/按钮。我们将它用于箭头键。

finish() 函数终止当前正在运行的所有动画。它删除排队的动画并完成匹配的标签/元素。

另一方面,animate() 方法使用 CSS Cascading Style Sheet 样式将元素从一个位置移动到另一个位置。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

如何在 PHP 中获取时间差的分钟数

发布时间:2023/03/29 浏览次数:183 分类:PHP

本文介绍了如何在 PHP 中获取时间差的分钟数,包括 date_diff()函数和数学公式。它包括 date_diff()函数和数学公式。

PHP 中的重定向

发布时间:2023/03/29 浏览次数:136 分类:PHP

本教程演示了如何将用户从页面重定向到 PHP 中的其他页面

PHP 分页

发布时间:2023/03/29 浏览次数:66 分类:PHP

本教程介绍如何在 PHP 中对数据库行进行分页

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便