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 常用方法和事件详细介绍
Apr 18 Javascript
jQuery 获取浏览器所在的IP地址的小例子
Nov 08 Javascript
Jquery操作js数组及对象示例代码
May 11 Javascript
jQuery 删除/替换DOM元素的几种方式
May 20 Javascript
JS+CSS实现滑动切换tab菜单效果
Aug 25 Javascript
详解js中class的多种函数封装方法
Jan 03 Javascript
分享javascript、jquery实用代码段
Oct 20 Javascript
JavaScript函数参数的传递方式详解
Mar 06 Javascript
bootstrap paginator分页前后台用法示例
Jun 17 Javascript
使用原生js封装的ajax实例(兼容jsonp)
Oct 12 Javascript
小程序怎样让wx.navigateBack更好用的方法实现
Nov 01 Javascript
node.JS二进制操作模块buffer对象使用方法详解
Feb 06 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
我的论坛源代码(五)
2006/10/09 PHP
使用prototype.js 的时候应该特别注意的几个问题.
2007/04/12 Javascript
对 lightbox JS 图片控件进行了一下改造, 使其他支持复杂的图片说明
2010/03/20 Javascript
javascript中用星号表示预录入内容的实现代码
2011/01/08 Javascript
js实现双向链表互联网机顶盒实战应用实现
2011/10/28 Javascript
jquery实现非叠加式的搜索框提示效果
2014/01/07 Javascript
动态添加删除表格行的js实现代码
2014/02/28 Javascript
浅析angularJS中的ui-router和ng-grid模块
2016/05/20 Javascript
JS递归遍历对象获得Value值方法技巧
2016/06/14 Javascript
基于Turn.js 实现翻书效果实例解析
2016/06/20 Javascript
浅谈js构造函数的方法与原型prototype
2016/07/04 Javascript
Bootstrap实现带动画过渡的弹出框
2016/08/09 Javascript
vue中keep-alive的用法及问题描述
2018/05/15 Javascript
浅谈super-vuex使用体验
2018/06/25 Javascript
关于Vue Router中路由守卫的应用及在全局导航守卫中检查元字段的方法
2018/12/09 Javascript
vue实现axios图片上传功能
2019/08/20 Javascript
Vue常用的全选/反选的示例代码
2020/02/19 Javascript
Vue实现input宽度随文字长度自适应操作
2020/07/29 Javascript
JavaScript实现H5接金币功能(实例代码)
2021/02/22 Javascript
[42:32]DOTA2上海特级锦标赛B组资格赛#2 Fnatic VS Spirit第二局
2016/02/27 DOTA
Python写的Tkinter程序屏幕居中方法
2015/03/10 Python
python实现简单中文词频统计示例
2017/11/08 Python
在Pycharm中将pyinstaller加入External Tools的方法
2019/01/16 Python
Keras之fit_generator与train_on_batch用法
2020/06/17 Python
HTML5的Video标签有部分MP4无法播放的问题解析(多图)
2017/08/18 HTML / CSS
记一次高分屏下canvas模糊问题
2020/02/17 HTML / CSS
机电专业毕业生推荐信
2013/11/10 职场文书
消防战士优秀事迹材料
2014/02/13 职场文书
《天安门广场》教学反思
2014/04/23 职场文书
经贸日语专业个人求职信范文
2014/04/29 职场文书
微笑服务演讲稿
2014/05/13 职场文书
2014最新离职证明范本
2014/09/12 职场文书
中学生运动会新闻稿
2014/09/24 职场文书
56句经典英文座右铭
2019/08/09 职场文书
《狼牙山五壮士》读后感:宁死不屈,视死如归
2019/08/16 职场文书
关于k8s环境部署mysql主从的问题
2022/03/13 MySQL