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


Posted in Javascript onFebruary 16, 2015

本文实例讲述了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="https://3water.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程序设计有所帮助。

Javascript 相关文章推荐
对 lightbox JS 图片控件进行了一下改造, 使其他支持复杂的图片说明
Mar 20 Javascript
jquery实现图片滚动效果的简单实例
Nov 23 Javascript
ECMAScript 5严格模式(Strict Mode)介绍
Mar 02 Javascript
真正好用的js验证上传文件大小的简单方法
Oct 27 Javascript
Bootstrap源码解读按钮(5)
Dec 23 Javascript
利用vue.js插入dom节点的方法
Mar 15 Javascript
React 组件转 Vue 组件的命令写法
Feb 28 Javascript
在vue里使用codemirror遇到的问题
Nov 01 Javascript
JS/HTML5游戏常用算法之碰撞检测 地图格子算法实例详解
Dec 12 Javascript
图文详解vue框架安装步骤
Feb 12 Javascript
微信小程序JS加载esmap地图的实例详解
Sep 04 Javascript
js通过循环多张图片实现动画效果
Dec 19 Javascript
jQuery实现点击图片翻页展示效果的方法
Feb 16 #Javascript
JS+CSS实现可拖动的弹出提示框
Feb 16 #Javascript
js实现下拉框选择要显示图片的方法
Feb 16 #Javascript
js实现点击图片将图片地址复制到粘贴板的方法
Feb 16 #Javascript
js实现鼠标经过时图片滚动停止的方法
Feb 16 #Javascript
js鼠标点击图片实现随机变换图片的方法
Feb 16 #Javascript
JavaScript简介
Feb 15 #Javascript
You might like
PHP之sprintf函数用法详解
2014/11/12 PHP
PHP获取文本框、密码域、按钮的值实例代码
2017/04/19 PHP
仅IE不支持setTimeout/setInterval函数的第三个以上参数
2011/05/25 Javascript
jQuery循环滚动展示代码 可应用到文字和图片上
2012/05/11 Javascript
javascript学习笔记(三) String 字符串类型介绍
2012/06/19 Javascript
捕获浏览器关闭、刷新事件不同情况下的处理方法
2013/06/02 Javascript
JS的参数传递示例介绍
2014/02/08 Javascript
javascript闭包入门示例
2014/04/30 Javascript
iframe如何动态创建及释放其所占内存
2014/09/03 Javascript
jquery+ajax实现跨域请求的方法
2015/01/20 Javascript
jQuery+css实现非常漂亮的水平导航菜单效果
2016/07/27 Javascript
Bootstrap基本插件学习笔记之模态对话框(16)
2016/12/08 Javascript
一篇文章搞定JavaScript类型转换(面试常见)
2017/01/21 Javascript
jQuery Validate 无法验证 chosen-select元素的解决方法
2017/05/17 jQuery
微信小程序实现手势图案锁屏功能
2018/01/30 Javascript
解决Vue打包之后文件路径出错的问题
2018/03/06 Javascript
js实现动态增加文件域表单功能
2018/10/22 Javascript
js微信分享接口调用详解
2019/07/23 Javascript
基于Vue el-autocomplete 实现类似百度搜索框功能
2019/10/25 Javascript
JavaScript冒泡算法原理与实现方法深入理解
2020/06/04 Javascript
python中文乱码的解决方法
2013/11/04 Python
Python实现扫描指定目录下的子目录及文件的方法
2014/07/16 Python
Python闭包的两个注意事项(推荐)
2017/03/20 Python
Python模拟脉冲星伪信号频率实例代码
2018/01/03 Python
对pandas中两种数据类型Series和DataFrame的区别详解
2018/11/12 Python
python实现坦克大战游戏 附详细注释
2020/03/27 Python
30秒学会30个超实用Python代码片段【收藏版】
2019/10/15 Python
通过实例解析python描述符原理作用
2020/01/22 Python
css3+伪元素实现鼠标移入时下划线向两边展开的效果
2017/04/25 HTML / CSS
狗狗玩具、零食和咀嚼物的月度送货服务:Super Chewer
2018/08/22 全球购物
Nike香港官网:Nike HK
2019/03/23 全球购物
销售类个人求职信范文
2013/09/25 职场文书
党员培训思想汇报
2014/01/07 职场文书
2015幼儿园新学期寄语
2015/02/27 职场文书
幼儿教师辞职信
2015/02/27 职场文书
写给导师的自荐信
2015/03/06 职场文书