这次给大家带来jquery通过方向键控制div上下左右移动步骤详解,jquery通过方向键控制div上下左右移动的注意事项有哪些,下面就是实战案例,一起来看一下。
在css中当dom元素的position属性为absolute或relative时,我们可以通过改变这个元素的left和top属性的具体值来控制元素在页面中显现的位置。
利用上述属性,我们可以简单实现一个元素在页面中的移动效果,这里我们采用jquery的animate方法来实现动画效果,利用keydown监听方向键按下的事件(这里采用keydown而不是keyup,是为了能够在方向键被一直按着时,元素一直移动,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>
相信看了本文案例你已经掌握了方法,更多精彩请关注其它相关文章!
推荐阅读:
jquery实现电子时钟功能步骤详解
vue nexttick 机制使用详解
以上就是jquery通过方向键控制div上下左右移动步骤详解的详细内容。