本文实例讲述了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>www.jb51.net jQuery控制div移动</title><script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script></head><body><div id="switcher" style="width:200px;
height:200px;
border:solid 1px #000;
"></div><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相关内容感兴趣的读者可查看本站专题:《jQuery切换特效与技巧总结》、《jQuery动画与特效用法总结》、《jQuery扩展技巧总结》、《jQuery常用插件及用法总结》、《jQuery常见经典特效汇总》及《jquery选择器用法总结》
希望本文所述对大家jQuery程序设计有所帮助。
您可能感兴趣的文章:
- jQuery实现按键盘方向键翻页特效
- jQuery实现用方向键控制层的上下左右移动
- jQuery拖动div、移动div、弹出层实现原理及示例
- Jquery实现Div上下移动示例
- 基于jquery的用鼠标画出可移动的div
- jQuery实现div跟随鼠标移动
- 移动端jQuery修正Web页面滑动时div问题的两则实例
- jQuery操作dom实现弹出页面遮罩层(web端和移动端阻止遮罩层的滑动)
- jquery使用animate方法实现控制元素移动