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 相关文章推荐
符合W3C网页标准的iframe标签的使用方法
Jul 19 Javascript
Javascript面向对象扩展库代码分享
Mar 27 Javascript
JQuery中如何传递参数如click(),change()等具体实现
Apr 28 Javascript
JavaScript实现页面实时显示当前时间的简单实例
Jul 20 Javascript
jquery取消选择select下拉框示例代码
Feb 22 Javascript
JS验证逗号隔开可以是中文字母数字
Apr 22 Javascript
jQuery.form插件的使用及跨域异步上传文件
Apr 27 Javascript
微信小程序 本地存储及登录页面处理实例详解
Jan 11 Javascript
解决vue中使用swiper插件问题及swiper在vue中的用法
Apr 04 Javascript
使用webpack-dev-server处理跨域请求的方法
Apr 18 Javascript
利用React Router4实现的服务端直出渲染(SSR)
Jan 07 Javascript
vue实现户籍管理系统
May 29 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 fwrite写入txt文件的时候用 \r\n不能换行的问题
2013/08/06 PHP
PHP抓取淘宝商品的用户晒单评论+图片+搜索商品列表实例
2016/04/14 PHP
thinkPHP3.1验证码的简单实现方法
2016/04/22 PHP
php获取开始与结束日期之间所有日期的方法
2016/11/29 PHP
PHP页面跳转实现延时跳转的方法
2016/12/10 PHP
jQuery 使用个人心得
2009/02/26 Javascript
JS动态调用方法名示例介绍
2013/12/18 Javascript
JavaScript异步回调的Promise模式封装实例
2014/06/07 Javascript
jquery中 $.expr使用实例介绍
2014/06/09 Javascript
教你在heroku云平台上部署Node.js应用
2014/07/30 Javascript
JS利用cookie记忆当前位置的防刷新导航效果
2015/10/15 Javascript
Vue.js项目模板搭建图文教程
2017/09/20 Javascript
dropload.js插件下拉刷新和上拉加载使用详解
2017/10/20 Javascript
JsChart组件使用详解
2018/03/04 Javascript
微信小程序入门之广告条实现方法示例
2018/12/05 Javascript
新手入门带你学习JavaScript引擎运行原理
2019/06/24 Javascript
[42:11]TNC vs Pain 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
Windows系统下安装Python的SSH模块教程
2015/02/05 Python
python 用正则表达式筛选文本信息的实例
2018/06/05 Python
详解python selenium 爬取网易云音乐歌单名
2019/03/28 Python
python虚拟环境的安装和配置(virtualenv,virtualenvwrapper)
2019/08/09 Python
Python 2种方法求某个范围内的所有素数(质数)
2020/01/31 Python
基于python实现生成指定大小txt文档
2020/07/20 Python
css3实现文字扫光渐变动画效果的示例
2017/11/07 HTML / CSS
浅谈html5 video 移动端填坑记
2018/01/15 HTML / CSS
简述进程的启动、终止的方式以及如何进行进程的查看
2014/02/20 面试题
医疗器械售后服务承诺书
2014/05/21 职场文书
环境工程专业自荐信范文
2014/06/24 职场文书
2014党员民主评议个人总结
2014/09/10 职场文书
车辆年检委托书范本
2014/10/14 职场文书
springboot拦截器无法注入redisTemplate的解决方法
2021/06/27 Java/Android
Pytest中skip skipif跳过用例详解
2021/06/30 Python
java objectUtils 使用可能会出现的问题
2022/02/28 Java/Android
CSS使用Flex和Grid布局实现3D骰子
2022/08/05 HTML / CSS
基于Python实现nc批量转tif格式
2022/08/14 Python