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 相关文章推荐
jQuery 使用手册(一)
Sep 23 Javascript
用unescape反编码得出汉字示例
Apr 24 Javascript
Shell脚本实现Linux系统和进程资源监控
Mar 05 Javascript
JavaScript编写点击查看大图的页面半透明遮罩层效果实例
May 09 Javascript
jQuery simpleModal插件的使用介绍
Aug 30 Javascript
Vue + Webpack + Vue-loader学习教程之相关配置篇
Mar 14 Javascript
node.js+jQuery实现用户登录注册AJAX交互
Apr 28 jQuery
解决vue props 拿不到值的问题
Sep 11 Javascript
vue-lazyload使用总结(推荐)
Nov 01 Javascript
JS/jQuery实现超简单的Table表格添加,删除行功能示例
Jul 31 jQuery
JS数组转字符串实现方法解析
Sep 04 Javascript
微信小程序实现翻牌抽奖动画
Sep 21 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
[FAQ]PHP中的一些常识:类篇
2006/10/09 PHP
php cookie的操作实现代码(登录)
2010/12/29 PHP
PHP仿微信多图片预览上传实例代码
2016/09/13 PHP
Alliance vs Liquid BO3 第三场2.13
2021/03/10 DOTA
javascript同步Import,同步调用外部js的方法
2008/07/08 Javascript
jQuery1.6 使用方法一
2011/11/23 Javascript
js判断生效时间不得大于失效时间的思路及代码
2013/04/23 Javascript
超级简单的jquery操作表格方法
2014/12/15 Javascript
探究Vue.js 2.0新增的虚拟DOM
2016/10/20 Javascript
node+vue实现用户注册和头像上传的实例代码
2017/07/20 Javascript
Js利用prototype自定义数组方法示例
2017/10/20 Javascript
解决option标签selected=&quot;selected&quot;属性失效的问题
2017/11/06 Javascript
Node.js的进程管理的深入理解
2019/01/09 Javascript
JS出现404错误原理及解决方案
2020/07/01 Javascript
[01:33]一分钟玩转DOTA2第三弹:DOTA2&DotA快捷操作大对比
2014/06/04 DOTA
[03:48]DOTA2完美大师赛主赛事第二日精彩集锦
2017/11/24 DOTA
Python3基础之输入和输出实例分析
2014/08/18 Python
python生成IP段的方法
2015/07/07 Python
Python基于Floyd算法求解最短路径距离问题实例详解
2018/05/16 Python
对pandas replace函数的使用方法小结
2018/05/18 Python
python+tifffile之tiff文件读写方式
2020/01/13 Python
Speedo速比涛中国官方网站:全球领先泳装运动品牌
2018/04/24 全球购物
企业面试题试卷附带答案
2015/12/20 面试题
PHP使用Redis队列执行定时任务实例讲解
2021/03/24 PHP
计算机应用专业推荐信
2013/11/13 职场文书
师德学习感言
2014/01/31 职场文书
日语专业个人求职信范文
2014/02/02 职场文书
《李广射虎》教学反思
2014/04/27 职场文书
提拔干部考察材料
2014/05/26 职场文书
大学感恩节活动策划方案
2014/10/11 职场文书
开展批评与自我批评发言材料
2014/10/17 职场文书
MySQL索引是啥?不懂就问
2021/07/21 MySQL
《遗弃》开发商删推文要跑路?官方回应:还在开发
2022/04/03 其他游戏
详细聊一聊mysql的树形结构存储以及查询
2022/04/05 MySQL
零基础学java之循环语句的使用
2022/04/10 Java/Android
CentOS7安装GlusterFS集群以及相关配置
2022/04/12 Servers