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 相关文章推荐
一个仿糯米弹框效果demo
Jul 22 Javascript
jQuery中outerHeight()方法用法实例
Jan 19 Javascript
JavaScript中的cacheStorage使用详解
Jul 29 Javascript
详解JavaScript编程中的数组结构
Oct 24 Javascript
基于javascript编写简单日历
May 02 Javascript
web 前端常用组件之Layer弹出层组件
Sep 22 Javascript
关于jQuery中fade(),show()起始位置的一点小发现
Apr 25 jQuery
jQuery插件DataTables分页开发心得体会
Aug 22 jQuery
详解Vue中一种简易路由传参办法
Sep 15 Javascript
jQuery解析json格式数据示例
Sep 01 jQuery
JS实现使用POST方式发送请求
Aug 30 Javascript
详解node.js 事件循环
Jul 22 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
Linux操作系统安装LAMP环境
2015/06/26 PHP
php实现快速对二维数组某一列进行组装的方法小结
2019/12/04 PHP
IE8 兼容性问题(属性名区分大小写)
2009/06/04 Javascript
JavaScript 浏览器验证代码(来自discuz)
2010/07/17 Javascript
js判断字符长度及中英文数字等
2014/03/19 Javascript
js实现图片拖动改变顺序附图
2014/05/13 Javascript
javascript+canvas制作九宫格小程序
2014/12/28 Javascript
JavaScript通过this变量快速找出用户选中radio按钮的方法
2015/03/23 Javascript
使用jquery清空、复位整个输入域
2015/04/02 Javascript
js限制文本框的输入内容代码分享(3类)
2015/08/20 Javascript
酷! 不同风格页面布局幻灯片特效js实现
2021/02/19 Javascript
javascript验证内容为数字以及长度为10的简单实例
2016/08/20 Javascript
js严格模式总结(分享)
2016/08/22 Javascript
解决Angular.Js与Django标签冲突的方案
2016/12/20 Javascript
jquery实现图片平滑滚动详解
2017/03/22 jQuery
Nodejs中Express 常用中间件 body-parser 实现解析
2017/05/22 NodeJs
react router 4.0以上的路由应用详解
2017/09/21 Javascript
angular 实现的输入框数字千分位及保留几位小数点功能示例
2018/06/19 Javascript
JavaScript实现学生在线做题计时器功能
2018/12/05 Javascript
微信小程序 函数防抖 解决重复点击消耗性能问题实现代码
2019/09/12 Javascript
layui的select联动实现代码
2019/09/28 Javascript
vue项目页面嵌入代码块vue-prism-editor的实现
2020/10/30 Javascript
[02:56]《DAC最前线》之国外战队抵达上海备战亚洲邀请赛
2015/01/28 DOTA
python解析发往本机的数据包示例 (解析数据包)
2014/01/16 Python
python分批定量读取文件内容,输出到不同文件中的方法
2018/12/08 Python
对python中的float除法和整除法的实例详解
2019/07/20 Python
详解CSS3选择器的使用方法汇总
2015/11/24 HTML / CSS
h5页面背景图很长要有滚动条滑动效果的实现
2021/01/27 HTML / CSS
英国在线药房:Express Chemist
2019/03/28 全球购物
创业资金计划书
2014/02/06 职场文书
公务员转正鉴定材料
2014/02/11 职场文书
操行评语大全
2014/04/30 职场文书
党员干部四风问题整改措施思想汇报
2014/10/12 职场文书
先进班组事迹材料
2014/12/25 职场文书
学校德育工作总结2015
2015/05/11 职场文书
利用Sharding-Jdbc进行分库分表的操作代码
2022/01/22 Java/Android