代码-已实现js拖拽一张图片,怎么实现多图片拖拽就出错?

问题描述

已实现js拖拽一张图片,怎么实现多图片拖拽就出错?

<!doctype html>

drag


//会出错

var dragImg = document.getElementById("dragImg");
startDrag(dragImg);

var Img = document.getElementById("Img");
startDrag(Img);//会出错

js的startDrag函数代码如下
var params = {
left: 0,
top: 0,
currentX: 0,
currentY: 0,
flag: false
};
//获取相关CSS属性
var getCss = function (o, key) {
return o.currentStyle ? o.currentStyle[key] : document.defaultView.getComputedStyle(o, false)[key];
};

//拖拽的实现
var startDrag = function (target, callback) {
if (getCss(target, "left") !== "auto") {
params.left = getCss(target, "left");
}
if (getCss(target, "top") !== "auto") {
params.top = getCss(target, "top");
}
//o是移动对象
target.onmousedown = function (event) {
params.flag = true;
if (!event) {
event = window.event;
event.preventDefault();
//防止IE文字选中
target.onselectstart = function () {
return false;
}
}
var e = event;
e.preventDefault();
params.currentX = e.clientX;
params.currentY = e.clientY;
};
document.onmouseup = function () {
params.flag = false;
if (getCss(target, "left") !== "auto") {
params.left = getCss(target, "left");
}
if (getCss(target, "top") !== "auto") {
params.top = getCss(target, "top");
}
};
document.onmousemove = function (event) {
var e = event ? event : window.event;
if (params.flag) {
var nowX = e.clientX, nowY = e.clientY;
var disX = nowX - params.currentX, disY = nowY - params.currentY;
target.style.left = parseInt(params.left) + disX + "px";
target.style.top = parseInt(params.top) + disY + "px";
}

    if (typeof callback == "function") {
        callback(parseInt(params.left) + disX, parseInt(params.top) + disY);
    }
}

};

解决方案

js 图片拖拽
Android拖拽图片的实现
JS实现拖拽

时间: 2024-08-29 13:15:20

代码-已实现js拖拽一张图片,怎么实现多图片拖拽就出错?的相关文章

js过滤特殊字符输入适合输入、粘贴、拖拽多种情况

 这篇文章主要介绍了js过滤特殊字符输入适合输入.粘贴.拖拽多种情况,需要的朋友可以参考下  代码如下: function TextValidate(type) {  var code;  var character;  var Lang = document.getElementById('Lang').value;  var err_msg = "";  if (Lang != "Eng") {  err_msg = "文件夹名稱不能包含下列字符之一:

js支持键盘控制的左右切换立体式图片轮播效果代码分享_javascript技巧

本文实例讲述了js支持键盘控制的左右切换立体式图片轮播效果.分享给大家供大家参考.具体如下: 这是一款基于javascript实现支持键盘控制的左右切换立体式图片轮播效果,特别有立体感,最重要的一点是可以利用键盘进行控制. 特性介绍:      1.轻松的改变幻灯变的宽度.      2.轻易改变下一张展示图片的数量.      3.最后一张图片会循环回到第一张图片里.      4.嵌入了Fancy查看插件,在每张图片上都能查看详细图片信息. 运行效果图:                   

JS实现的多张图片轮流播放幻灯片效果_javascript技巧

本文实例讲述了JS实现的多张图片轮流播放幻灯片效果.分享给大家供大家参考,具体如下: <body style="width: 715px; height: 95px;"> <script language="javascript" type="text/javascript"> <!-- /************************************************** 名称: 图片轮播类 创建时

JavaScript实现文字与图片拖拽效果的方法_javascript技巧

本文实例讲述了JavaScript实现文字与图片拖拽效果的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: <html> <head> <title>JavaScript实现文字与图片的拖拽效果</title> <style type="text/css"> *{padding:0;margin:0;} .tips{position:absolute;background:#eee;} </style

android 大图片拖拽并缩放实现原理

由于最近项目忙,博客一直没有时间更新,今天有点时间就连续更新两篇吧,过过瘾. 这篇图片拖拽缩放也是我在项目中用到的,今天整理一下,将源码奉献给大家,希望对大家以后碰到相似的问题有帮助. 这篇就不做过多介绍了,直接上源码:复制代码 代码如下:public class SpacePageActivity extends Activity { private LinearLayout linnerLayout_spacepage; private RelativeLayout relativeLayo

javascript-js中的java代码如何访问js中方法的参数??见图

问题描述 js中的java代码如何访问js中方法的参数??见图 如何让1处的值传到2处这里?? 解决方案 需要用ajax提交你的index到服务器,服务器端无法直接获取客户端js的变量值 <script src=""http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.4.1.min.js""></script><script type=""text/javascript&qu

代码-求指点JS记住密码功能问题

问题描述 求指点JS记住密码功能问题 调试一直出现问题,跪求大神们指点! 谢谢各位! JS代码: function setCookies(expiredays) { var exdata=new Data(); exdata.setDate(exdate.getDate()+expiredays); n_value=document.getElementById("username").value; p_value=document.getElementById("passw

广告代码静态化js通用函数_javascript技巧

/* JavaScript Document 广告代码静态化js通用函数 原则上每个页面不应该出现域名的固定指向 */ /* Config */ var sSiteUrl = "http://www.spvjoy.com"; //var sSiteUrl = "http://192.168.1.30:82"; var sSendSite = "http://send.mmstoon.com"; var sMp3Url = "http:/

模拟交换机查表功能-请大神补充里面的下拉框代码,主代码已有,自己电脑运行老是报错,谢谢啦!

问题描述 请大神补充里面的下拉框代码,主代码已有,自己电脑运行老是报错,谢谢啦! 请大神做好打包发q 1125485579@qq.com 这是文件链接http://download.csdn.net/detail/liu10231217/9326519 解决方案 50c就够找苦力,留下个邮箱坐等代码送上门.就算有人愿意帮你,你文件链接都懒得贴也是醉了. 解决方案二: 你还留什么q,干脆留个银行卡账户,看看有没有好心人给你捐点得了. 解决方案三: 没办法思密达!表示对自己这个专业很是头疼 解决方案