div拖动(拖拽图片验证码部分代码)

在underside中拖动redbox,box和redbox的横坐标一致
  1 <!doctype html>
  2 <html lang="en">
  3 <head>
  4  
  5 <meta charset="UTF-8">
  6 <title>拖拽</title>
  7
  8 <style>
  9 #outside {
 10     border: 1px solid #99CC00;
 11     background-color: #ccc;
 12     width: 300px;
 13     height: 300px;
 14     position: relative;
 15 }
 16
 17 #underside {
 18     border: 1px solid #99aa00;
 19     background-color: #ccc;
 20     left: -1px;
 21     width: 300px;
 22     height: 50px;
 23     position: relative;
 24     top: 306px;
 25 }
 26
 27 #box {
 28     background: #123456;
 29     width: 50px;
 30     height: 50px;
 31     position: absolute;
 32 }
 33
 34 #redbox {
 35     background: red;
 36     width: 50px;
 37     height: 50px;
 38     position: absolute;
 39     cursor: pointer;
 40 }
 41 </style>
 42
 43 </head>
 44 <body>
 45     <div id="outside">
 46         <div id="box"></div>
 47         <div id="underside">
 48             <div id="redbox"></div>
 49         </div>
 50     </div>
 51
 52
 53
 54
 55     <script language="javascript">
 56         // 初始化拖放对象
 57         var box = document.getElementById("box");
 58         // 获取页面中被拖放元素的引用指针
 59         box.style.position = "absolute"; // 绝对定位
 60         // 初始化变量,标准化事件对象
 61         var mx,
 62             my,
 63             ox,
 64             oy; // 定义备用变量
 65         function e(event) { // 定义事件对象标准化函数
 66             if (!event) { // 兼容IE浏览器
 67                 event = window.event;
 68                 event.target = event.srcElement;
 69                 event.layerX = event.offsetX;
 70                 event.layerY = event.offsetY;
 71             }
 72             event.mx = event.pageX || event.clientX + document.body.scrollLeft;
 73             // 计算鼠标指针的x轴距离
 74             event.my = event.pageY || event.clientY + document.body.scrollTop;
 75             // 计算鼠标指针的y轴距离
 76             return event; // 返回标准化的事件对象
 77         }
 78         // 定义鼠标事件处理函数
 79
 80
 81
 82         $("#redbox")[0].onmousedown = function(event) { // 按下鼠标时,初始化处理
 83             event = e(event); // 获取标准事件对象
 84             o = event.target; // 获取当前拖放的元素
 85             ox = parseInt(o.offsetLeft); // 拖放元素的x轴坐标
 86             oy = parseInt(o.offsetTop); // 拖放元素的y轴坐标
 87             mx = event.mx; // 按下鼠标指针的x轴坐标
 88             my = event.my; // 按下鼠标指针的y轴坐标
 89             document.onmousemove = move; // 注册鼠标移动事件处理函数
 90             document.onmouseup = stop; // 注册松开鼠标事件处理函数
 91
 92
 93
 94         }
 95         function move(event) { // 鼠标移动处理函数
 96             event = e(event);
 97             o.style.left = ox + event.mx - mx + "px"; // 定义拖动元素的x轴距离
 98             o.style.top = oy + event.my - my + "px"; // 定义拖动元素的y轴距离
 99             //红色拖动元素
100             var y = $(‘#redbox‘).position().left;
101             var x = $(‘#redbox‘).position().top;
102             var yDiff = parseInt($("#underside").css("width").split("px")[0]) - parseInt($("#redbox").css("width").split("px")[0]);
103             console.log(y)
104             if (y > yDiff) {
105                 $("#redbox").css("left", yDiff + "px")
106
107             }
108             $("#box").css("left", $("#redbox").css("left"))
109             if (y < 0) {
110                 $("#redbox").css("left", 0 + "px")
111
112             }
113             if (x != 0) {
114                 $("#redbox").css("top", 0 + "px")
115
116             }
117
118         }
119         function stop(event) { // 松开鼠标处理函数
120             event = e(event);
121             ox = parseInt(o.offsetLeft); // 记录拖放元素的x轴坐标
122             oy = parseInt(o.offsetTop); // 记录拖放元素的y轴坐标
123             mx = event.mx ; // 记录鼠标指针的x轴坐标
124             my = event.my ; // 记录鼠标指针的y轴坐标
125             o = document.onmousemove = document.onmouseup = null;
126             /* console.log(event.mx,event.my) */
127             // 释放所有操作对象
128
129         }
130     </script>
131 </body>
132 </html>
133  

原文地址:https://www.cnblogs.com/simeng/p/10357846.html

时间: 2024-10-04 11:46:58

div拖动(拖拽图片验证码部分代码)的相关文章

android 拖拽图片&amp;拖动浮动按钮到处跑

来自老外: import android.app.Activity; import android.content.Context; import android.graphics.Canvas; import android.os.Bundle; import android.view.MotionEvent ; import android.widget.AbsoluteLayout; import android.widget.Button; public class Drag_And_D

android项目 之 记事本(14) ----- 手势缩放与拖拽图片

本文是自己学习所做笔记,欢迎转载,但请注明出处:http://blog.csdn.net/jesson20121020 上节实现了查看图片及录音的功能,其中查看图片,可以调用系统的图库来查看图片,也可以自定义Activity来查看图片,今天就在上节的基础上,实现手势缩放与拖拽图片. 想必大家都用过系统的图库,浏览图片时,可以通过手势放大或缩小图片,旋转图片,拖拽图片等功能,我们也为自已定义的查看图片的Activity增加手势缩放与拖拽图片的功能,效果如下图: 上面四幅图中,演示了通过手势(多点触

基于html5可拖拽图片循环滚动切换

分享一款基于html5可拖拽图片循环滚动切换.这是一款支持手机端拖拽切换的网站图片循环滚动特效.效果图如下: 在线预览   源码下载 实现的代码. html代码: <div id="site-wrapper"> <section id="section-header" data-coloroverlap="dark"></section> <section id="second-phase&qu

在viewPager中双指缩放图片,双击缩放图片,单指拖拽图片

我们就把这个问题叫做图片查看器吧,它的主要功能有: 1.双击缩放图片. 2. 双指缩放图片. 3.单指拖拽图片. 为此这个图片查看器需要考虑以下的技术点: 一.双击缩放图片: 1.如果图片高度比屏幕的高度小得多,那么就将图片放大到高度与屏幕高度相等,否则就放大一个特定的倍数. 2.如何判断是否到达这个倍数来停止缩放. 3.判断完且停止放大后,图片可能已经超出了这个倍数需要的大小,如何回归到我们的目标大小. 4.判断完且停止缩小后,图片宽度可能已经小于屏幕宽度,在两边留下了空白,如何重置为原来的大

jQuery实现div横向拖拽排序

参考:https://blog.csdn.net/kongjiea/article/details/45578033 效果图: html <h1>div横向拖拽排序</h1> <div class="box"> <div class="horizontal-div" id="div1">div1</div> <div class="horizontal-div"

拖拽图片到另一个div里

HTML代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title></title> <style> #taa{width: 300px;height: 300px;background: #DEDEDE;} </style> </head> <body> <

Jquery 多行拖拽图片排序 jq优化

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>jQuery图片拖动排序代码</title> <style type="text/css"> .item_container{position:relative;height:auto;overflow:hidden;} .item_content ul{list-

Javascript 拖拽雏形——逐行分析代码,让你轻松了拖拽的原理

拖拽的原理: 其实就是鼠标与左上角的距离保持不变.我们来看下图, 这红点就是鼠标.拖拽拖拽实际上来说就是通过鼠标的位置来计算物体的位置,就是这么简单,就是这么任性. 那这个距离怎么求呢?? 鼠标的位置-物体位置的差值就是那个距离 是吧.那这个斜线就是横线和竖线组成的. 我们距离看下程序怎么做. /*实际上他改的就是某个div 的left top ,那他就动起来了. 那样式中肯定要有绝对定位是吧.*/ <style type="text/css"> #div1 { width

div的拖拽练习

学完js基础后,一直在找一些题目在练习.下面是div模块的拖拽例子,废话不多说,直接上代码: <html> <head> <title>拖拽</title> <style type="text/css"> #box { width: 100px; height: 100px; background: red; position: absolute; } </style> </head><body&