亲宝软件园·资讯

展开

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

代码家园 人气:0

本文实例讲述了JavaScript实现文字与图片拖拽效果的方法。分享给大家供大家参考。具体实现方法如下:

复制代码 代码如下:
<html>
<head>
<title>JavaScript实现文字与图片的拖拽效果</title>
<style type="text/css">
*{padding:0;margin:0;}
.tips{position:absolute;background:#eee;}
</style>
</head>
<body>
<div class="tips" id="tips1" onmouseover="dragF.drag('tips1');">
<img src="/images/skinslogo.gif"><br>图片可以拖动</div>
<div class="tips" id="tips2" onmouseover="dragF.drag('tips2');"><a href="//www.qb5200.com" target="_blank"></a><br />拖动链接也可以
</div>
</body>
<script type="text/javascript">
var $id=function(id){return document.getElementById(id);}
var dragF={
 locked:false,
 lastObj:undefined,
 drag:function(obj){
  $id(obj).onmousedown=function(e){
   var e = e ? e : window.event;
   if(!window.event) {e.preventDefault();}/* 阻止标注<a href='/site/js-5791-1.html' target='_blank'><u>浏览器</u></a>下拖动a,img的默认事件 */
   dragF.locked=true;
     $id(obj).style.position="absolute";
   $id(obj).style.zIndex="100";
   if (dragF.lastObj&&dragF.lastObj!=$id(obj)) {/* 多元素拖动需要恢复上次元素状态 */
    dragF.lastObj.style.zIndex = "1";
   }
   dragF.lastObj=$id(obj);
   var tempX=$id(obj).offsetLeft;
   var tempY=$id(obj).offsetTop;
   dragF.x=e.clientX;
   dragF.y=e.clientY;
   document.onmousemove=function(e){
    var e = e ? e : window.event;
    if(dragF.locked==false) return false;
    $id(obj).style.left=tempX+e.clientX-dragF.x+"px";
    $id(obj).style.top=tempY+e.clientY-dragF.y+"px";
    if(window.event) {e.returnValue=false;}/* 阻止ie下a,img的默认事件 */
   }
   document.onmouseup=function(){
    dragF.locked=false;
   }
  }
 }
}
</script>
</html>

希望本文所述对大家的javascript程序设计有所帮助。

加载全部内容

相关教程
猜你喜欢
用户评论