JS实现的自定义网页拖动类_javascript技巧

本文实例讲述了JS实现的自定义网页拖动类。分享给大家供大家参考,具体如下:

先来看运行效果截图如下:

在线演示地址如下:

http://demo.jb51.net/js/2015/js-zdy-web-drug-pic-style-codes/

具体代码如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>自写的拖动类……</title>
<script type="text/javascript">
var d=document;//给document对象一个通用的事件侦听方法
d.addListener=function(e,f,b){
 this.attachEvent?this.attachEvent('on'+e,f):this.addEventListener(e,f,b);
}
d.removeListener=function(e,f,b){
 this.detachEvent?this.detachEvent('on'+e,f):this.removeEventListener(e,f,b);
}
function $(){//接收一个id参数,返回带有startDrag方法的对象
 var o=document.getElementById(arguments[0]);
 o.addListener=function(e,f,b){
  this.attachEvent?this.attachEvent('on'+e,f):this.addEventListener(e,f,b);
 }
 o.removeListener=function(e,f,b){
  this.detachEvent?this.detachEvent('on'+e,f):this.removeEventListener(e,f,b);
 }
 o.startDrag=function(obj){//参数obj默认为o本身,可以传其它参数以确定要移动的对象
  var obj=obj?obj:o;
  var sx,sy;
  o.style.cursor="move";
  o.addListener("mousedown",function(e){
   e||event;
   if(e.button==1||e.button==0){
    sx=e.clientX-obj.offsetLeft;sy=e.clientY-obj.offsetTop;
    d.addListener("mousemove",move,false);
    d.addListener("mouseup",stopDrag,false);
   }
  },false);
  var stopDrag=function(){
   d.removeListener("mousemove",move,false);
   d.removeListener("mouseup",stopDrag,false);
  }
  var move=function(e){
   e||event;
   window.getSelection ? window.getSelection().removeAllRanges() :
    document.selection.empty();
   if(e.preventDefault)e.preventDefault();//这两句便是解决firefox拖动问题的.
   with (obj.style){
    position="absolute"
    left=e.clientX-sx+"px";
    top=e.clientY-sy+"px";
   }
  }
 }
 return o;
}
window.onload=function(){$("ok").startDrag($("os"))}//本例中拖动ok元素,移动其父元素
</script>
<style type="text/css">
*{margin:0;padding:0}
#ok{width:215px;height:170px;background:url(images/sample1.gif)}
#os{width:400px;height:300px;background:#09f;left:300px}
#os2{width:400px;height:300px;background:#f90;}
</style>
</head>
<body>
<div id="os"><p id="ok"></p></div>
<div id="os2"></div>
</body>
</html>

希望本文所述对大家JavaScript程序设计有所帮助。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索js
, 网页
拖动类
javascript拖动div、javascript 拖动事件、javascript 拖动、javascript鼠标拖动、javascript 拖动条,以便于您获取更多的相关知识。

时间: 2024-08-02 20:10:01

JS实现的自定义网页拖动类_javascript技巧的相关文章

js实现div在页面拖动效果_javascript技巧

本文实例讲述了js实现div在页面拖动效果.分享给大家供大家参考,具体如下: <style type="text/css"> body { margin: 0px; } #div1 { display: none; position: absolute; z-index: 1000; height: 100%; width: 100%; background: #000000; filter:Alpha(opacity=30); } #div2 { display: non

js插件Jcrop自定义截取图片功能_javascript技巧

当初说这个需求的时候,在网上找了一点资料,但是基本上感觉不符合项目中的需求.参照一些项目,和同事的改造,终于是像点样子了. 截图大致截为3个像素,每个像素使用的地方也不同,考虑图片不会是很多,分别压缩保存下来. 根据截取的像素位置,对应的压缩成相应的图片:   首先需要下载Jcrop.js与uploadify.js 上传图片的插件和截图的插件 Comm_UploadJcrop.js //剪裁头像对象和宽高比例 var jcrop_api, boundx, boundy; //上传图片 //Id:

一个简单的js渐显(fadeIn)渐隐(fadeOut)类_javascript技巧

要兼容IE(element.style.filter = 'alpha(opacity=value)')和非IE(element.style.opacity=value)就可以了.另,还要注意,非IEopaciy的值是0~1之间,IE是1-100.   下面,贴代码: 复制代码 代码如下: /** * @projectDescription 动画(渐显.渐隐)类 * /** * @projectDescription KINGKIT UI * @date 2010-6-1 * @author K

二级域名转向类_javascript技巧

DomainClass.js /* @Class DomainClass(二级域名转向类) @author 逍遥云-http://bbs.51js.com @Version 1.0 @Date 2006-11-2 @Rights 如使用请保留此信息,谢谢 */ function DomainClass(){  //记录本身  var ōwner=this;  //域名集合  var arr=[];        //////////////////////////////////////公开属性

js图片翻书效果代码分享_javascript技巧

这是一款基于javascript实现图片翻书效果代码,图片可以从左右两个方向进行切换,用户还可以自定义对应图片的标题与文字说明,是一款非常实用的图片特效源码. 七夕情人节也可以是表白的神器,放一些回忆的照片,还可以永久保存,是不是很有心意,推荐给大家,有需要的小伙伴可以学习学习. 运行效果图: 大家可以先运行一下    -------------------------------------效果运行----------------------------------------- 为大家分享的

Vue自定义指令介绍(2)_javascript技巧

Vue指令 Vue的指令以v-开头,作用在HTML元素上,将指令绑定在元素上,给绑定的元素添加一些特殊行为. 例如: <h1 v-if="yes">Yes</h1> 其中,v-是Vue的标识,if是指令ID,yes是expression.yes是MVVM中的VM即ViewModel,当它的值发生变化,就会触发指令,改变View视图的显示. expression还可以使用内联的模式,任何依赖的属性发生变化时都会触发指令的执行.如: <h1 v-if=&quo

js字符串操作总结(必看篇)_javascript技巧

字符方法 <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>字符方法</title> </head> <body> <script type="text/javascript"> /* charAt方法和charCodeAt方法都接收一个参数,基于0的

JS简单实现表格排序功能示例_javascript技巧

本文实例讲述了JS简单实现表格排序功能的方法.分享给大家供大家参考,具体如下: 思路:遍历每个li,并把它们存放到数组中去,然后通过sort()方法进行排序,再插入 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="htt

js如何改变文章的字体大小_javascript技巧

最近发现有许多朋友提问:使用js如何改变一篇文章的字体的大小? 小编查阅了相关文章,为大家整理了几个小案例,供大家参考,具体内容如下 效果图: 点击大.小按钮,随时切换字体大小 具体代码: <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>使用js如果改变一篇文章字体的大小</ti