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 相关文章推荐
各种页面定时跳转(倒计时跳转)代码总结
Oct 24 Javascript
jquery对元素拖动排序示例
Jan 16 Javascript
JQuery中模拟image的ajaxPrefilter与ajaxTransport处理
Jun 19 Javascript
利用jQuery设计一个简单的web音乐播放器的实例分享
Mar 08 Javascript
JS Canvas定时器模拟动态加载动画
Sep 17 Javascript
Jquery Easyui表单组件Form使用详解(30)
Dec 19 Javascript
详解数组Array.sort()排序的方法
May 09 Javascript
Webpack实现按需打包Lodash的几种方法详解
May 08 Javascript
Vue 换肤的示例实践
Jan 23 Javascript
vue  自定义组件实现通讯录功能
Sep 30 Javascript
微信小程序使用canvas的画图操作示例
Jan 18 Javascript
仿照Element-ui实现一个简易的$message方法
Sep 14 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采集速度探究总结(原创)
2008/04/18 PHP
PHP伪造referer实例代码
2008/09/20 PHP
php文章内容分页并生成相应的htm静态页面代码
2010/06/07 PHP
PHP数组 为文章加关键字连接 文章内容自动加链接
2011/12/29 PHP
PHP实现原比例生成缩略图的方法
2016/02/03 PHP
微信支付开发动态链接Native支付
2016/07/12 PHP
swoole_process实现进程池的方法示例
2018/10/29 PHP
php命令行模式代码实例详解
2021/02/26 PHP
js二级地域选择的实现方法
2013/06/17 Javascript
javascript将DOM节点添加到文档的方法实例分析
2015/08/04 Javascript
WEB前端实现裁剪上传图片功能
2016/10/17 Javascript
vue轮播图插件vue-awesome-swiper
2017/11/27 Javascript
JavaScript 下载svg图片为png格式
2018/06/21 Javascript
vue 项目软键盘回车触发搜索事件
2020/09/09 Javascript
vue切换菜单取消未完成接口请求的案例
2020/11/13 Javascript
Python多线程编程(一):threading模块综述
2015/04/05 Python
Python使用回溯法子集树模板解决迷宫问题示例
2017/09/01 Python
python自动12306抢票软件实现代码
2018/02/24 Python
python将视频转换为全字符视频
2019/04/26 Python
Pyqt清空某一个QTreeewidgetItem下的所有分支方法
2019/06/17 Python
python绘制规则网络图形实例
2019/12/09 Python
tensorflow实现在函数中用tf.Print输出中间值
2020/01/21 Python
Python计算公交发车时间的完整代码
2020/02/12 Python
Python unittest单元测试openpyxl实现过程解析
2020/05/27 Python
python中的错误如何查看
2020/07/08 Python
PyCharm2019.3永久激活破解详细图文教程,亲测可用(不定期更新)
2020/10/29 Python
定制iPhone和Macbook保护壳:Slick Case
2018/11/21 全球购物
PatPat德国:妈妈的每日优惠
2019/10/02 全球购物
什么是makefile? 如何编写makefile?
2012/08/08 面试题
小学生迎国庆演讲稿
2014/09/05 职场文书
导游词300字
2015/02/13 职场文书
MySQL 使用自定义变量进行查询优化
2021/05/14 MySQL
Centos环境下Postgresql 安装配置及环境变量配置技巧
2021/05/18 PostgreSQL
Keras在mnist上的CNN实践,并且自定义loss函数曲线图操作
2021/05/25 Python
36个正则表达式(开发效率提高80%)
2021/11/17 Javascript
Linux安装apache服务器的配置过程
2021/11/27 Servers