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 相关文章推荐
JavaScript-世界上误解最深的语言分析
Aug 12 Javascript
js 限制数字 js限制输入实现代码
Dec 04 Javascript
javascript计算星座属相(十二生肖属相)示例代码
Jan 09 Javascript
2014 HTML5/CSS3热门动画特效TOP10
Dec 07 Javascript
修改或扩展jQuery原生方法的代码实例
Jan 13 Javascript
Angular模板表单校验方法详解
Aug 11 Javascript
基于vue和react的spa进行按需加载的实现方法
Sep 29 Javascript
JavaScript的词法结构精华篇
Oct 17 Javascript
node.js爬取中关村的在线电瓶车信息
Nov 13 Javascript
vue组件之间通信实例总结(点赞功能)
Dec 05 Javascript
JS面向对象之多选框实现
Jan 17 Javascript
AJAX检测用户名是否存在的方法
Mar 24 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动态生成VRML网页
2006/10/09 PHP
mysql总结之explain
2012/02/27 PHP
PHP控制反转(IOC)和依赖注入(DI)
2017/03/13 PHP
Laravel 对某一列进行筛选然后求和sum()的例子
2019/10/10 PHP
在phpstudy集成环境下的nginx服务器下配置url重写
2019/12/02 PHP
服务器安全设置的几个注册表设置
2007/07/28 Javascript
ajax更新数据后,jquery、jq失效问题
2011/03/16 Javascript
js事件(Event)知识整理
2012/10/11 Javascript
JS中产生20位随机数以0-9为例也可以是a-z A-Z
2014/08/01 Javascript
浅谈javascript 函数属性和方法
2015/01/21 Javascript
JavaScript插件化开发教程 (二)
2015/01/27 Javascript
js运动动画的八个知识点
2015/03/12 Javascript
javascript实现密码强度显示
2015/03/18 Javascript
jQuery代码实现发展历程时间轴特效
2015/07/30 Javascript
js获取时间函数及扩展函数的方法
2016/10/30 Javascript
移动端js图片查看器
2016/11/17 Javascript
bootstrap table sum总数量统计实现方法
2017/10/29 Javascript
快速解决vue-cli不能初始化webpack模板的问题
2018/03/20 Javascript
解决angularjs service中依赖注入$scope报错的问题
2018/10/02 Javascript
PHP实现基于Redis的MessageQueue队列封装操作示例
2019/02/02 Javascript
javascript设计模式之迭代器模式
2020/01/30 Javascript
Python的Bottle框架中获取制定cookie的教程
2015/04/24 Python
在Python中处理字符串之isdigit()方法的使用
2015/05/18 Python
python开发简易版在线音乐播放器
2017/03/03 Python
Python文本处理之按行处理大文件的方法
2018/04/09 Python
pandas删除指定行详解
2019/04/04 Python
python+selenium 点击单选框-radio的实现方法
2019/09/03 Python
双向RNN:bidirectional_dynamic_rnn()函数的使用详解
2020/01/20 Python
使用python修改文件并立即写回到原始位置操作(inplace读写)
2020/06/28 Python
英国123鲜花网站:123 Flowers
2019/07/07 全球购物
生物化工工艺专业应届生求职信
2013/10/08 职场文书
小学生环保倡议书
2014/05/15 职场文书
公司联欢会策划方案
2014/05/19 职场文书
学校副校长四风对照检查材料整改措施
2014/09/25 职场文书
辞职离别感言
2015/08/04 职场文书
Python手拉手教你爬取贝壳房源数据的实战教程
2021/05/21 Python