如何用鼠标左键拖动一张图片,松开左键后图片停留在鼠标位置 图片放在DIV里,跟着mousemove事件走;放开的时候解除。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这种代码很多了,参考http://js.hrw.cn/picture20.htm <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><HTML><HEAD><TITLE> Document </TITLE><style type="text/css">body{padding : 0px ;margin : 0px;background-color : #999999 ;}.DivMain {position : absolute ;text-align : center ;overflow : hidden ;}.DivMenu {position : absolute ;text-align : left ;overflow : hidden ;}.ImgMain {position : absolute ;overflow : hidden ;border : 0px ;}.TBMain {background-color : #CCCCCC ;padding : 0px ;border : 0px ;z-index : 99 ;line-height : 18px ;}.TBMenu {background-color : #FFCCCC ;padding : 0px ;border : 0px ;z-index : 99 ;color: #000000 ;}.HrScroll {margin : 0px;background-color : #FFFFFF ;padding : 0px ;border : 0px ;z-index : 99 ;color : #000000 ;border-spacing : 0px;width : 160px ;height : 10px ;}</style><SCRIPT LANGUAGE="JavaScript"><!--var originalWidth ;var originalHeight ;var objDivMain ;var objTbMain ;var objImg ;var ObjDrag ;var objDivMenu ;var objTbMemu ;var objbtnImgInfo ;var objDivFlag;var objHrScroll;var oRcts ;var oTextRange ; function setInit(obj) {objDivMain = document.getElementById("divMain") ;objTbMain = document.getElementById("TbMain") ;objDivMenu = document.getElementById("DivMenu") ;objTbMenu = document.getElementById("TbMenu") ;objImg = document.getElementById("imgMain") ;objbtnImgInfo = document.getElementById("btnImgInfo") ;objDivFlag = document.getElementById("DivFlag");objHrScroll = document.getElementById("HrScroll");originalWidth = obj.width;originalHeight = obj.height;objImg.style.width = originalWidth;objImg.style.height = originalHeight;fmImgZoom.FitScreen.click();}function setFitScreen() {initImg(objImg);}function setOriginal() {var intBodyWidth ;var intBodyHeight ;intBodyWidth = document.body.clientWidth ;intBodyHeight = document.body.clientHeight ;objImg.style.left = 0 ;objImg.style.top = 0 ;objImg.style.width = originalWidth;objImg.style.height = originalHeight;objImg.style.zoom = 1 ;objDivMain.style.width = intBodyWidth ;objDivMain.style.height = intBodyHeight - objTbMain.clientHeight;fnWritePos(objImg.style.left,objImg.style.top,objImg.style.zoom);}function initImg(objCurrent) {var intBodyWidth ;var intBodyHeight ;intBodyWidth = document.body.clientWidth ;intBodyHeight = document.body.clientHeight ;objTbMain.style.top = 0;objTbMain.style.height = 20;objTbMain.style.width = intBodyWidth;objDivMain.style.left = 0 ;objDivMain.style.height = intBodyHeight - objTbMain.clientHeight;objDivMain.style.width = intBodyWidth ;initZoom(objCurrent);}function initZoom(obj){var intObjWidth ;var intObjHeight ;var intDivHeight ;var intZoomRatio ;intDivHeight = objDivMain.style.pixelHeight;intObjHeight = obj.style.pixelHeight;intZoomRatio = intDivHeight / intObjHeight;obj.style.zoom = intZoomRatio ;obj.style.top = 0;obj.style.left = 0;fnWritePos (obj.style.left,obj.style.top,obj.style.zoom) ;}function fnMouseDown(obj) {ObjDrag=obj;ObjDrag.setCapture();ObjDrag.l=event.x-ObjDrag.style.pixelLeft;ObjDrag.t=event.y-ObjDrag.style.pixelTop;}function fnMouseMove() {if(ObjDrag!=null) {ObjDrag.style.left = event.x-ObjDrag.l;ObjDrag.style.top = event.y-ObjDrag.t;fnWritePos(ObjDrag.style.left,ObjDrag.style.top,ObjDrag.style.zoom);}}function fnMouseUp() {if(ObjDrag!=null) {ObjDrag.releaseCapture();ObjDrag=null;}}function fnZoomIn() {objImg.style.zoom = parseFloat(objImg.style.zoom) + 0.01 ;fnWritePos(objImg.style.left,objImg.style.top,objImg.style.zoom);}function fnZoomOut() {if(objImg.style.zoom>0.01){objImg.style.zoom = parseFloat(objImg.style.zoom) - 0.01 ;fnWritePos(objImg.style.left,objImg.style.top,objImg.style.zoom);}}function fnDivMouseDown() {if ( event.button == 2 && event.srcElement.id != "imgMain") {objDivMenu.style.top = event.y;objDivMenu.style.left = event.x;objDivMenu.style.visibility = "";oTextRange = objHrScroll.createTextRange() ;oRcts = oTextRange.getClientRects();oBndRct = objDivFlag.getBoundingClientRect();objDivFlag.style.top = oRcts[0].top;objDivFlag.style.left = oRcts[0].left + parseInt(objImg.style.zoom * 10) ;objDivFlag.style.visibility = "";}if ( event.button == 1 && event.srcElement.id != "imgMain") {objDivMenu.style.visibility = "hidden";objDivFlag.style.visibility = "hidden";}}function fnWritePos(intLeft,intTop,intZoom) {objbtnImgInfo.innerText = " ImgLeft:" + intLeft + " ImgTop:" + intTop + " ImgZoom:" + intZoom ;}function fnSlipMouseDown(obj) {ObjDrag=obj;ObjDrag.setCapture();ObjDrag.l = event.x - ObjDrag.style.pixelLeft;ObjDrag.t = ObjDrag.style.pixelTop;}function fnSlipMouseMove() {if(ObjDrag!=null) {if(event.x >= oRcts[0].left && event.x <= oRcts[0].right ){ObjDrag.style.left = event.x - objDivFlag.offsetWidth / 2;}ObjDrag.t = ObjDrag.style.pixelTop;var intCurrentPos = ObjDrag.style.pixelLeft - oRcts[0].left + objDivFlag.offsetWidth / 2;var intPicZoom = intCurrentPos / 10;objImg.style.zoom = intPicZoom;fnWritePos(objImg.style.left,objImg.style.top,objImg.style.zoom);}}function fnSlipMouseUp() {if(ObjDrag!=null) {ObjDrag.releaseCapture();ObjDrag=null;}}function setDisplay() {if(objImg.style.visibility == ""){objImg.style.visibility = "hidden";}else{objImg.style.visibility = "";}}function fnContextMenu() {window.event.returnValue=false;}//--></SCRIPT></HEAD><BODY oncontextmenu="fnContextMenu()"><form name="fmImgZoom"><TABLE id="tbMain" class="TBMain"><TR><TD><input type="button" name="ZoomIn" value="ZoomIn" onclick="fnZoomIn()"><input type="button" name="ZoomOut" value="ZoomOut" onclick="fnZoomOut()"><input type="button" name="Original" value="Original" onclick="setOriginal()"><input type="button" name="FitScreen" value="FitScreen" onclick="setFitScreen()"><input type="button" name="btnView" value="hide/view" onclick="setDisplay()"><input id="btnImgInfo" size="50"></TD></TR></TABLE><div id="divMain" class="DivMain" onmousedown="fnDivMouseDown()"><img src="http://www.800ems.com/desktop/out1/82_jpg.jpg" id="imgMain" class="imgMain" onload="setInit(this)" onmousedown="fnMouseDown(this)" onmousemove="fnMouseMove()" onmouseup="fnMouseUp()" ></div><div id="divMenu" class="DivMenu" style="visibility:hidden"><TABLE class="TBMenu"><TR><TD>10%</TD><TD><button id="HrScroll" class="HrScroll"><hr noshade></button> </TD><TD>1600%</TD></TR></TABLE></div><DIV ID="DivFlag" STYLE="position:absolute;visibility:hidden;width:1px;height:10px;z-index:99" onmousedown="fnSlipMouseDown(this)" onmousemove="fnSlipMouseMove()" onmouseup="fnSlipMouseUp()" onmouseover="this.style.cursor ='hand'" onmouseout="this.style.cursor=''">↑</DIV></form></BODY></HTML> <div style='position:absolute;width:200;height:200;background:red' onmousedown=MouseDown(this) onmousemove=MouseMove() onmouseup=MouseUp()><table border=1><tr><Td>adsf</table></div><script>var Objfunction MouseDown(obj){Obj=objObj.setCapture()Obj.l=event.x-Obj.style.pixelLeftObj.t=event.y-Obj.style.pixelTop}function MouseMove(){if(Obj!=null){ Obj.style.left = event.x-Obj.l Obj.style.top = event.y-Obj.t }}function MouseUp(){if(Obj!=null){ Obj.releaseCapture() Obj=null }}</script> 做了一个登录界面,需要用户名与密码还有单选按钮一块决定链接界面 求教,socket关闭问题 关于document.getElementsByName的奇怪问题 js 控制 传入对象的文本被选中 分离Json key 和 Value 正则表达式 如何写? 一个简单的减法运算,怎么会出现这样的结果 又没有什么参数可以直接取道屏幕的高度和宽度? 关于下拉菜单的使用 怎么样让打开的页面在永远在最上面? 语法错误-------菜鸟一问 [急]VML工作流设计器显示模型图的问题 如何通过下来菜单来确定同一表单内其它相应表单元素的显示?在线等待~~~~~
<HTML>
<HEAD>
<TITLE> Document </TITLE>
<style type="text/css">
body{
padding : 0px ;
margin : 0px;
background-color : #999999 ;}
.DivMain {
position : absolute ;
text-align : center ;
overflow : hidden ;
}
.DivMenu {
position : absolute ;
text-align : left ;
overflow : hidden ;
}
.ImgMain {
position : absolute ;
overflow : hidden ;
border : 0px ;
}
.TBMain {
background-color : #CCCCCC ;
padding : 0px ;
border : 0px ;
z-index : 99 ;
line-height : 18px ;}
.TBMenu {
background-color : #FFCCCC ;
padding : 0px ;
border : 0px ;
z-index : 99 ;
color: #000000 ;}
.HrScroll {
margin : 0px;
background-color : #FFFFFF ;
padding : 0px ;
border : 0px ;
z-index : 99 ;
color : #000000 ;
border-spacing : 0px;
width : 160px ;
height : 10px ;
}
</style><SCRIPT LANGUAGE="JavaScript">
<!--var originalWidth ;
var originalHeight ;var objDivMain ;
var objTbMain ;var objImg ;
var ObjDrag ;var objDivMenu ;
var objTbMemu ;var objbtnImgInfo ;var objDivFlag;
var objHrScroll;var oRcts ;
var oTextRange ; function setInit(obj) {objDivMain = document.getElementById("divMain") ;
objTbMain = document.getElementById("TbMain") ;objDivMenu = document.getElementById("DivMenu") ;
objTbMenu = document.getElementById("TbMenu") ;objImg = document.getElementById("imgMain") ;
objbtnImgInfo = document.getElementById("btnImgInfo") ;objDivFlag = document.getElementById("DivFlag");
objHrScroll = document.getElementById("HrScroll");originalWidth = obj.width;
originalHeight = obj.height;objImg.style.width = originalWidth;
objImg.style.height = originalHeight;fmImgZoom.FitScreen.click();
}function setFitScreen() {initImg(objImg);
}function setOriginal() {var intBodyWidth ;
var intBodyHeight ;intBodyWidth = document.body.clientWidth ;
intBodyHeight = document.body.clientHeight ;objImg.style.left = 0 ;
objImg.style.top = 0 ;
objImg.style.width = originalWidth;
objImg.style.height = originalHeight;
objImg.style.zoom = 1 ;objDivMain.style.width = intBodyWidth ;
objDivMain.style.height = intBodyHeight - objTbMain.clientHeight;fnWritePos(objImg.style.left,objImg.style.top,objImg.style.zoom);
}function initImg(objCurrent) {var intBodyWidth ;
var intBodyHeight ;intBodyWidth = document.body.clientWidth ;
intBodyHeight = document.body.clientHeight ;
objTbMain.style.top = 0;
objTbMain.style.height = 20;
objTbMain.style.width = intBodyWidth;objDivMain.style.left = 0 ;
objDivMain.style.height = intBodyHeight - objTbMain.clientHeight;
objDivMain.style.width = intBodyWidth ;initZoom(objCurrent);
}function initZoom(obj){var intObjWidth ;
var intObjHeight ;
var intDivHeight ;
var intZoomRatio ;
intDivHeight = objDivMain.style.pixelHeight;
intObjHeight = obj.style.pixelHeight;
intZoomRatio = intDivHeight / intObjHeight;obj.style.zoom = intZoomRatio ;
obj.style.top = 0;
obj.style.left = 0;fnWritePos (obj.style.left,obj.style.top,obj.style.zoom) ;
}function fnMouseDown(obj) {
ObjDrag=obj;
ObjDrag.setCapture();
ObjDrag.l=event.x-ObjDrag.style.pixelLeft;
ObjDrag.t=event.y-ObjDrag.style.pixelTop;
}function fnMouseMove() {
if(ObjDrag!=null) {
ObjDrag.style.left = event.x-ObjDrag.l;
ObjDrag.style.top = event.y-ObjDrag.t;
fnWritePos(ObjDrag.style.left,ObjDrag.style.top,ObjDrag.style.zoom);
}
}function fnMouseUp() {
if(ObjDrag!=null) {
ObjDrag.releaseCapture();
ObjDrag=null;
}
}function fnZoomIn() {objImg.style.zoom = parseFloat(objImg.style.zoom) + 0.01 ;
fnWritePos(objImg.style.left,objImg.style.top,objImg.style.zoom);
}function fnZoomOut() {if(objImg.style.zoom>0.01){
objImg.style.zoom = parseFloat(objImg.style.zoom) - 0.01 ;
fnWritePos(objImg.style.left,objImg.style.top,objImg.style.zoom);
}
}function fnDivMouseDown() {
if ( event.button == 2 && event.srcElement.id != "imgMain") {
objDivMenu.style.top = event.y;
objDivMenu.style.left = event.x;
objDivMenu.style.visibility = "";oTextRange = objHrScroll.createTextRange() ;
oRcts = oTextRange.getClientRects();
oBndRct = objDivFlag.getBoundingClientRect();
objDivFlag.style.top = oRcts[0].top;
objDivFlag.style.left = oRcts[0].left + parseInt(objImg.style.zoom * 10) ;
objDivFlag.style.visibility = "";}
if ( event.button == 1 && event.srcElement.id != "imgMain") {
objDivMenu.style.visibility = "hidden";
objDivFlag.style.visibility = "hidden";
}
}function fnWritePos(intLeft,intTop,intZoom) {
objbtnImgInfo.innerText = " ImgLeft:" + intLeft + " ImgTop:" + intTop + " ImgZoom:" + intZoom ;
}function fnSlipMouseDown(obj) {
ObjDrag=obj;
ObjDrag.setCapture();
ObjDrag.l = event.x - ObjDrag.style.pixelLeft;
ObjDrag.t = ObjDrag.style.pixelTop;
}function fnSlipMouseMove() {
if(ObjDrag!=null) {if(event.x >= oRcts[0].left && event.x <= oRcts[0].right ){
ObjDrag.style.left = event.x - objDivFlag.offsetWidth / 2;
}ObjDrag.t = ObjDrag.style.pixelTop;
var intCurrentPos = ObjDrag.style.pixelLeft - oRcts[0].left + objDivFlag.offsetWidth / 2;
var intPicZoom = intCurrentPos / 10;
objImg.style.zoom = intPicZoom;
fnWritePos(objImg.style.left,objImg.style.top,objImg.style.zoom);
}
}function fnSlipMouseUp() {
if(ObjDrag!=null) {
ObjDrag.releaseCapture();
ObjDrag=null;
}
}
function setDisplay() {if(objImg.style.visibility == ""){
objImg.style.visibility = "hidden";
}
else{
objImg.style.visibility = "";
}
}function fnContextMenu() {
window.event.returnValue=false;
}
//-->
</SCRIPT>
</HEAD><BODY oncontextmenu="fnContextMenu()">
<form name="fmImgZoom">
<TABLE id="tbMain" class="TBMain">
<TR>
<TD>
<input type="button" name="ZoomIn" value="ZoomIn" onclick="fnZoomIn()">
<input type="button" name="ZoomOut" value="ZoomOut" onclick="fnZoomOut()">
<input type="button" name="Original" value="Original" onclick="setOriginal()">
<input type="button" name="FitScreen" value="FitScreen" onclick="setFitScreen()">
<input type="button" name="btnView" value="hide/view" onclick="setDisplay()">
<input id="btnImgInfo" size="50">
</TD>
</TR>
</TABLE>
<div id="divMain" class="DivMain" onmousedown="fnDivMouseDown()"><img src="http://www.800ems.com/desktop/out1/82_jpg.jpg" id="imgMain" class="imgMain" onload="setInit(this)" onmousedown="fnMouseDown(this)" onmousemove="fnMouseMove()" onmouseup="fnMouseUp()" ></div>
<div id="divMenu" class="DivMenu" style="visibility:hidden">
<TABLE class="TBMenu">
<TR>
<TD>10%</TD>
<TD><button id="HrScroll" class="HrScroll"><hr noshade></button> </TD>
<TD>1600%</TD>
</TR>
</TABLE>
</div>
<DIV ID="DivFlag" STYLE="position:absolute;visibility:hidden;width:1px;height:10px;z-index:99" onmousedown="fnSlipMouseDown(this)" onmousemove="fnSlipMouseMove()" onmouseup="fnSlipMouseUp()" onmouseover="this.style.cursor ='hand'" onmouseout="this.style.cursor=''">↑</DIV>
</form>
</BODY>
</HTML>
<script>
var Obj
function MouseDown(obj){
Obj=obj
Obj.setCapture()
Obj.l=event.x-Obj.style.pixelLeft
Obj.t=event.y-Obj.style.pixelTop
}
function MouseMove(){
if(Obj!=null){
Obj.style.left = event.x-Obj.l
Obj.style.top = event.y-Obj.t
}
}
function MouseUp(){
if(Obj!=null){
Obj.releaseCapture()
Obj=null
}
}
</script>