jQuery Div拖动+键盘控制综合效果

发布于 2022-10-15 09:03:58 字数 6697 浏览 12 评论 0

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <title>jQuery Div拖动+键盘控制综合效果</title>
  5. <meta http-equiv="content-type" content="text/html;charset=gb2312">
  6. <script src="/ajaxjs/jquery1.3.2.js"></script>
  7. </head>
  8. <body>
  9. 预览时看不到效果,刷新一下即可
  10. <div id="text" style="width:120px;height:60px;background:#F06;position:absolute;left:500px;top:90px;cursor:move;"></div>
  11. <script type="text/javascript">
  12. var msgObj = document.getElementById('text');
  13. var posx = 0;
  14. var posy = 0;
  15. var moveable = false;
  16. var MouseDownEvent = document.onmousedown;
  17. var MouseMoveEvent = document.onmousemove;
  18. var MouseUpEvent = document.onmouseup;
  19. msgObj.onmousedown = function(evt) {
  20.         var evt = evt||window.event;
  21.         moveable = true;
  22.         posy = evt.clientY-parseInt(msgObj.style.top);
  23.         posx = evt.clientX-parseInt(msgObj.style.left);
  24.         document.onmousemove = function(evt) {
  25.                 if (moveable) {
  26.                         var evt = evt||window.event;
  27.                         msgObj.style.left = evt.clientX - posx + "px";
  28.                         msgObj.style.top = evt.clientY - posy + "px";
  29.                 }
  30.                 change();
  31.         };
  32.         document.onmouseup = function () {
  33.                 if (moveable) {
  34.                         document.onmousemove = MouseMoveEvent;
  35.                         document.onmouseup = MouseUpEvent;
  36.                         moveable = false;
  37.                         posx = 0;
  38.                         posy = 0;
  39.                 }
  40.         };
  41. }
  42. var v=1;
  43. var a=0.9;
  44. var h=document.documentElement.clientHeight;
  45. function scroll(){
  46.         var timer=setInterval(function(){
  47.                 v +=a;
  48.                 var top=(parseInt(msgObj.style.top)||0);
  49.                 if(top+v>h-70){
  50.                         if(v<2)clearInterval(timer);
  51.                         msgObj.style.top=h-70+"px";
  52.                         v=-v*0.5;       
  53.                 }else{
  54.                         msgObj.style.top=top+v+"px";
  55.                 }
  56.                 change();
  57.         },10);
  58. };
  59. $(document).keyup(function(e){
  60.         var e = e || window.event ;
  61.         if(e.which == 13){
  62.                 scroll();       
  63.         }
  64. })
  65. var x = 4 ;
  66. var y = 4 ;
  67. function newpro(){
  68.         var Height = document.documentElement.clientHeight ;
  69.         var Width = document.documentElement.clientWidth ;
  70.         var newobj = document.createElement('div');
  71.         newobj.setAttribute('id','bigbox');
  72.         newobj.style.position = 'absolute';
  73.         newobj.style.left = 20 +"px";
  74.         newobj.style.top = 80 +"px";
  75.         newobj.style.height = Height/x +"px" ;
  76.         newobj.style.width = Width/y +"px" ;
  77.         newobj.style.borderWidth = 1+"px";
  78.         newobj.style.borderColor = "#ff6500";
  79.         newobj.style.borderStyle = 'solid' ;
  80.         newobj.innerHTML='<div id="minbox"></div>';
  81.         document.body.appendChild(newobj);
  82.         change();
  83. }
  84. function change(){
  85.         var minobj = document.getElementById('minbox');
  86.         minobj.style.position = 'absolute';
  87.         minobj.style.left = parseInt(msgObj.style.left)/x +"px";
  88.         minobj.style.top = parseInt(msgObj.style.top)/y +"px";
  89.         minobj.style.height = 20 +"px" ;
  90.         minobj.style.width = 30 +"px" ;
  91.         minobj.style.background = "#F06";
  92. }
  93. window.onload = function(){
  94.         newpro();
  95. }
  96. </script>
  97. </body>
  98. </html>

复制代码

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文