本文實例講述了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="http://www.cnblogs.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程序設計有所幫助。