>웹 프론트엔드 >JS 튜토리얼 >화살표 키를 바인딩하여 div 이동을 제어하는 ​​방법

화살표 키를 바인딩하여 div 이동을 제어하는 ​​방법

php中世界最好的语言
php中世界最好的语言원래의
2018-06-04 15:37:442147검색

이번에는 div의 움직임을 제어하기 위해 방향키를 바인딩하는 방법과 div의 움직임을 제어하기 위해 방향키를 바인딩할 때 어떤 주의사항이 있는지 보여드리겠습니다. 바라보다.

CSS에서 DOM 요소의 <a href="http://www.php.cn/wiki/902.html" target="_blank">position<code><a href="http://www.php.cn/wiki/902.html" target="_blank">position</a>属性为absoluterelative时,我们可以通过改变这个元素的lefttop属性的具体值来控制元素在页面中显现的位置。

利用上述属性,我们可以简单实现一个元素在页面中的移动效果,这里我们采用JQueryanimate方法来实现动画效果,利用keydown监听方向键按下的事件(这里采用keydown而不是keyup,是为了能够在方向键被一直按着时,元素一直移动,keydown是监听按下事件,keyup是监听按键释放事件)。这里我们还可以利用animate 속성이 절대 또는 상대인 경우 를 변경할 수 있습니다. 요소 lefttop 속성의 특정 값은 페이지에서 요소가 나타나는 위치를 제어합니다. 위 속성을 사용하면 페이지에서 요소의 이동 효과를 간단히 실현할 수 있습니다. 여기서는 JQuery

animate 메서드는 애니메이션 효과를 구현하는 데 사용되고 keydown은 방향 키를 누르는 이벤트를 모니터링하는 데 사용됩니다(여기에서는 keyup 대신 keydown을 사용합니다. 방향 키를 항상 누를 때 요소가 계속 움직이도록 하기 위해 keydown은 누름 이벤트를 모니터링하고 keyup은 키 놓기 이벤트를 모니터링합니다. ). 여기서는 animate 메소드의 기능을 활용할 수도 있습니다. 즉, 속성 값이 '+=' 또는 '-='인 경우 먼저 원래 값을 기준으로 계산합니다. , 그리고 해당 속성이 주어지면 이는 C++의

연산자

와 일치합니다.

핵심 코드는 다음과 같습니다.

$(document).keydown(function(event){
    var keyNum = event.which;  //获取键值
    var Item = $('#switcher');  //要移动的元素
    Item.css({position:'relative'}); //设置position
    switch(keyNum){ //判断按键
    case 37: Item.animate({left:'-=20px'});break;
    case 38: Item.animate({top:'-=20px'});break;
    case 39: Item.animate({left:'+=20px'});break;
    case 40: Item.animate({top:'+=20px'});break;
    default:
      break;
    }
});
전체 샘플 코드는 다음과 같습니다.

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title> jQuery控制p移动</title>
<script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
</head>
<body>
<p id="switcher" style="width:200px;height:200px;border:solid 1px #000;">
</p>
<script>
$(document).keydown(function(event){
    var keyNum = event.which;  //获取键值
    var Item = $('#switcher');  //要移动的元素
    Item.css({position:'relative'}); //设置position
    switch(keyNum){ //判断按键
    case 37: Item.animate({left:'-=20px'});break;
    case 38: Item.animate({top:'-=20px'});break;
    case 39: Item.animate({left:'+=20px'});break;
    case 40: Item.animate({top:'+=20px'});break;
    default:
      break;
    }
});
</script>
</body>
</html>
이 기사의 사례를 읽으신 후 방법을 마스터하셨다고 생각합니다. 더 흥미로운 정보를 보려면 다른 관련 기사를 주목하시기 바랍니다. PHP 중국어 웹사이트에서!

추천 도서:

r.js CSS 파일 작동 방법


콘솔에 로그 정보를 인쇄하는 방법🎜🎜🎜

위 내용은 화살표 키를 바인딩하여 div 이동을 제어하는 ​​방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.