jQuery实现Div拖动+键盘控制综合效果的方法


Posted in Javascript onMarch 10, 2015

本文实例讲述了jQuery实现Div拖动+键盘控制综合效果的方法。分享给大家供大家参考。具体实现方法如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<title>jQuery Div拖动+键盘控制综合效果</title>

<meta http-equiv="content-type" content="text/html;charset=gb2312">

<script src="/ajaxjs/jquery1.3.2.js"></script>

</head>

<body>

预览时看不到效果,刷新一下即可

<div id="text" style="width:120px;height:60px;background:#F06;position:absolute;left:500px;top:90px;cursor:move;"></div>

<script type="text/javascript">

var msgObj = document.getElementById('text');

var posx = 0;

var posy = 0;

var moveable = false;

var MouseDownEvent = document.onmousedown;

var MouseMoveEvent = document.onmousemove;

var MouseUpEvent = document.onmouseup;

msgObj.onmousedown = function(evt) {

    var evt = evt||window.event;

    moveable = true; 

    posy = evt.clientY-parseInt(msgObj.style.top);

    posx = evt.clientX-parseInt(msgObj.style.left);

    document.onmousemove = function(evt) {

        if (moveable) {

            var evt = evt||window.event;

            msgObj.style.left = evt.clientX - posx + "px";

            msgObj.style.top = evt.clientY - posy + "px";

        }

        change();

    };

    document.onmouseup = function () { 

        if (moveable) { 

            document.onmousemove = MouseMoveEvent;

            document.onmouseup = MouseUpEvent;

            moveable = false; 

            posx = 0;

            posy = 0;

        } 

    };

}

var v=1;

var a=0.9;

var h=document.documentElement.clientHeight;

function scroll(){

    var timer=setInterval(function(){

        v +=a;

        var top=(parseInt(msgObj.style.top)||0);

        if(top+v>h-70){

            if(v<2)clearInterval(timer);

            msgObj.style.top=h-70+"px";

            v=-v*0.5;   

        }else{

            msgObj.style.top=top+v+"px";

        }

        change();

    },10);

};

$(document).keyup(function(e){

    var e = e || window.event ;

    if(e.which == 13){

        scroll();   

    }

})

var x = 4 ;

var y = 4 ;

function newpro(){

    var Height = document.documentElement.clientHeight ;

    var Width = document.documentElement.clientWidth ;

    var newobj = document.createElement('div');

    newobj.setAttribute('id','bigbox');

    newobj.style.position = 'absolute';

    newobj.style.left = 20 +"px";

    newobj.style.top = 80 +"px";

    newobj.style.height = Height/x +"px" ;

    newobj.style.width = Width/y +"px" ;

    newobj.style.borderWidth = 1+"px";

    newobj.style.borderColor = "#ff6500";

    newobj.style.borderStyle = 'solid' ;

    newobj.innerHTML='<div id="minbox"></div>';

    document.body.appendChild(newobj);

    change();

}

function change(){

    var minobj = document.getElementById('minbox');

    minobj.style.position = 'absolute';

    minobj.style.left = parseInt(msgObj.style.left)/x +"px";

    minobj.style.top = parseInt(msgObj.style.top)/y +"px";

    minobj.style.height = 20 +"px" ;

    minobj.style.width = 30 +"px" ;

    minobj.style.background = "#F06";

}

window.onload = function(){

    newpro();

}

</script>

</body>

</html>

希望本文所述对大家的jQuery程序设计有所帮助。

Javascript 相关文章推荐
JQuery与iframe交互实现代码
Dec 24 Javascript
jQuery 工具函数学习资料
Apr 29 Javascript
javascript中的作用域scope介绍
Dec 28 Javascript
查看源码的工具 学习jQuery源码不错的工具
Dec 26 Javascript
使用CSS样式position:fixed水平滚动的方法
Feb 19 Javascript
Json实现异步请求提交评论无需跳转其他页面
Oct 11 Javascript
JavaScript类的写法
Sep 17 Javascript
原生JS实现匀速图片轮播动画
Oct 18 Javascript
js 函数式编程学习笔记
Mar 25 Javascript
详解element-ui设置下拉选择切换必填和非必填
Jun 17 Javascript
jqGrid表格底部汇总、合计行footerrow处理
Aug 21 Javascript
vue实现编辑器键盘抬起时内容跟随光标距顶位置向上滚动效果
May 28 Javascript
jQuery仿Flash上下翻动的中英文导航菜单实例
Mar 10 #Javascript
js控制页面的全屏展示和退出全屏显示的方法
Mar 10 #Javascript
Javascript 正则表达式实现为数字添加千位分隔符
Mar 10 #Javascript
jquery+easeing实现仿flash的载入动画
Mar 10 #Javascript
javascript判断css3动画结束 css3动画结束的回调函数
Mar 10 #Javascript
jQuery实现表格颜色交替显示的方法
Mar 09 #Javascript
jQuery实现个性翻牌效果导航菜单的方法
Mar 09 #Javascript
You might like
php后退一页表单内容保存实现方法
2012/06/17 PHP
PHP获取IP地址所在地信息的实例(使用纯真IP数据库qqwry.dat)
2016/11/15 PHP
ThinkPHP3.2框架操作Redis的方法分析
2019/05/05 PHP
详解PHP PDO简单教程
2019/05/28 PHP
JS 实现BASE64_ENCODE和BASE64_DECODE(实例代码)
2013/11/13 Javascript
JavaScript生成随机数的4种自定义函数分享
2015/02/28 Javascript
浅谈JavaScript超时调用和间歇调用
2015/08/30 Javascript
实例讲解使用原生JavaScript处理AJAX请求的方法
2016/05/10 Javascript
Node.js与MySQL交互操作及其注意事项
2016/10/05 Javascript
AngularJS中下拉框的高级用法示例
2017/10/11 Javascript
vue实现手机号码抽奖上下滚动动画示例
2017/10/18 Javascript
原生JS实现瀑布流插件
2018/02/06 Javascript
vue 1.0 结合animate.css定义动画效果
2018/07/11 Javascript
如何在Vue中使用CleaveJS格式化你的输入内容
2018/12/14 Javascript
深入理解 JS 垃圾回收
2019/06/03 Javascript
js实现简单扫雷
2020/11/27 Javascript
[02:57]DOTA2亚洲邀请赛 SECRET战队出场宣传片
2015/02/07 DOTA
[00:52]黑暗之门更新 新英雄孽主驾临DOTA2
2016/08/24 DOTA
[01:31:02]TNC vs VG 2019国际邀请赛淘汰赛 胜者组赛BO3 第一场
2019/08/22 DOTA
Python中的下划线详解
2015/06/24 Python
Python中类型检查的详细介绍
2017/02/13 Python
Python 调用Java实例详解
2017/06/02 Python
Python基于回溯法子集树模板解决旅行商问题(TSP)实例
2017/09/05 Python
django请求返回不同的类型图片json,xml,html的实例
2018/05/22 Python
解决python彩色螺旋线绘制引发的问题
2019/11/23 Python
如何基于python操作json文件获取内容
2019/12/24 Python
浅谈opencv自动光学检测、目标分割和检测(连通区域和findContours)
2020/06/04 Python
canvas实现扭蛋机动画效果的示例代码
2018/10/17 HTML / CSS
html5 canvas手势解锁源码分享
2020/01/07 HTML / CSS
您附近的水疗和健康场所:Spafinder(美国)
2019/07/05 全球购物
经营理念口号
2014/06/21 职场文书
苏州园林导游词
2015/02/03 职场文书
浅谈:电影《孔子》观后感(范文)
2019/10/14 职场文书
nginx作grpc的反向代理踩坑总结
2021/07/07 Servers
浅谈Redis的keys命令到底有多慢
2021/10/05 Redis
Python实现归一化算法详情
2022/03/18 Python