• 文字广告位
  • 文字广告位
  • 文字广告位
您现在的位置: 站长手册 >> 特效代码 >> 鼠标类 >> 正文
站内搜索
Google
[图文]鼠标勾画选取拖动图形
          ★★★★   

鼠标勾画选取拖动图形

雅虎收藏夹 百度收藏 Google书签 Yahoo书签 新浪ViVi 搜狐网摘 365Key网摘 天极网摘 diglog 和讯网摘 POCO网摘 YouNote网摘 博拉网 天下图摘 Del.icio.us digg reddit spurl BlinkList blogmarks
人气: 来源:网络 作者:佚名 所属栏目:鼠标类 [切换到繁體中文]
介绍:按住鼠标左键圈选图形,选择后图形便可以拖动了。

演示:

[Ctrl+A全选 提示:你可先修改部分代码,再按运行]

下面教你如何应用此特效: 
 --------------------------------------------------------------------------------------
  需要在<body 这里>加入的代码:onmousedown="initselect()" onmousemove="startselect();startdrag()" onmouseup="endselect()" onclick="hideselect()" onselectstart="return false;"
 --------------------------------------------------------------------------------------
以下代码加到<head>…</head>中
以下代码加到<body>…</body>中
<script language="JavaScript">
var x0;
var y0;
var objlayer=new Array();
objlayer[0]="Layer1";
objlayer[1]="Layer2";

var selectenable=0;
function initselect() {
if (event.srcElement!=selectarea) {
 x0=document.body.scrollLeft+event.clientX;
 y0=document.body.scrollTop+event.clientY;
 selectenable=1;
 }
}
function startselect() {
if (selectenable==1) {
selectarea.style.visibility='visible';
if(document.body.scrollLeft+event.clientX-x0>0) {
  selectarea.style.left=x0;
  selectarea.style.width=document.body.scrollLeft+event.clientX-x0;
  }
else
  {
  selectarea.style.left=document.body.scrollLeft+event.clientX;
  selectarea.style.width=x0-(document.body.scrollLeft+event.clientX);
  }
if (document.body.scrollTop+event.clientY-y0>0) {
  selectarea.style.top=y0; 
  selectarea.style.height=document.body.scrollTop+event.clientY-y0;
  }
else
  {
  selectarea.style.top=document.body.scrollTop+event.clientY;
  selectarea.style.height=y0-(document.body.scrollTop+event.clientY);
  }
 }
}

var dx=new Array();
var dy=new Array();
var dragenable2=new Array();
function endselect() {
selectenable=0;
//start
for (i=0; i<objlayer.length; i++) {
layername=eval(objlayer[i]);
 var dx2=(selectarea.offsetLeft+selectarea.offsetWidth)-(layername.offsetLeft+layername.offsetWidth);
 var dy2=(selectarea.offsetTop+selectarea.offsetHeight)-(layername.offsetTop+layername.offsetHeight);
 if (selectarea.offsetLeft-1<layername.offsetLeft && dx2>-1 && selectarea.offsetTop-1<layername.offsetTop && dy2>-1) {
  dx[i]=layername.offsetLeft-selectarea.offsetLeft;
  dy[i]=layername.offsetTop-selectarea.offsetTop;
  dragenable2[i]=1;
  }
 else {dx[i]=0;dy[i]=0;dragenable2[i]=0;}
 }
  window.status=dragenable2+':'+dx+':'+dy;
//end
}

function hideselect() {
if (document.body.scrollLeft+event.clientX==x0 && document.body.scrollTop+event.clientY==y0 && event.srcElement!=selectarea)
selectarea.style.visibility='hidden';
}

var xx0;
var yy0;
var dragenable=0;
function initdrag() {
xx0=document.body.scrollLeft+event.clientX-selectarea.offsetLeft;
yy0=document.body.scrollTop+event.clientY-selectarea.offsetTop;
dragenable=1;
}

function startdrag() {
if (dragenable==1) {
  selectarea.style.left=document.body.scrollLeft+event.clientX-xx0;
  selectarea.style.top=document.body.scrollTop+event.clientY-yy0;
  for (i=0; i<objlayer.length; i++) {
  layername=eval(objlayer[i]);
    if (dragenable2[i]==1) {
    layername.style.left=selectarea.offsetLeft+dx[i];
    layername.style.top=selectarea.offsetTop+dy[i];
    }
   }
  window.status=dx+':'+dy+':'+dragenable2;
 }
}

function enddrag() {
dragenable=0;
for (i=0; i<objlayer.length; i++) {dragenable2[i]=0;}
}
</script>

<div id="selectarea" style="cursor:move;position:absolute; width:0px; height:0px; z-index:100; left: 0px; top: 0px;border:1px #000000 dashed ;visibility:hidden" onmousedown=initdrag() onmousemove=startdrag() onmouseup=enddrag()><img src=spacer.gif width=1 height=1></div>

<div id="Layer1" style="position:absolute; width:100px; height:100px; z-index:1; left: 50px; top: 50px">
<table width="100%" border="0" cellspacing="0" cellpadding="0" height="100%">
<tbody>
<tr>
<td align="center" bgcolor="#CCCCCC">obj1</td>
</tr>
</tbody>
</table>
</div>
<div id="Layer2" style="position:absolute; width:100px; height:100px; z-index:1; left: 240px; top: 50px">
<table width="100%" border="0" cellspacing="0" cellpadding="0" height="100%">
<tbody>
<tr>
<td align="center" bgcolor="#000066"><font color="#FFFFFF">obj2</font></td>
</tr>
</tbody>
</table>
</div>

网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
姓 名: *(必填项) ·注册用户·
Email: QQ号:
评 分: 1分 2分 3分 4分 5分
  • 您可以发表评论支持你喜欢的文章。
  • 请遵守《互联网电子公告服务管理规定》
  • 请遵守中华人民共和国各项有关法律法规。
  • 严禁发表危害国家安全、政治、黄色淫秽等内容的评论。
  • 评论人需对自己在使用评论过程中的行为承担法律责任。
  • 本站管理员有权保留或删除评论内容。
  • 评论内容只代表个人观点,与本网站立场无关。
站内特效搜索
| 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | | 京ICP备 05004866号 |
版权所有 2007-2008 站长手册 WWW.ZZSC.ORG 业务联系 zzsc.org#gmail.com