js 拖动效果

在很多时候我们会要用到js 拖动效果哦,下面我们就来一款简单的js 拖动实例代码哦。

function getstyle(o,key){return o.currentstyle? o.currentstyle[key] : document.defaultview.getcomputedstyle(o,null)[key]}//'currentstyle' only for ie5.0+

var drag = function(bar, target){
var params = {
startleft:0,
starttop:0,
_x:0,
_y:0,
isdrag:false
};
if(getstyle(target,'left') != 'auto'){params.startleft = getstyle(target,'left')}
if(getstyle(target,'top') != 'auto'){params.starttop = getstyle(target,'top')}
bar.onmousedown = function(e){
e = e?e:window.event; //'event' ie下局部变量,ff下全局变量
params.isdrag = true;
params._x = e.clientx; params._y = e.clienty;
};
document.onmouseup = function(){
params.isdrag = false;
if(getstyle(target,'left') != 'auto'){params.startleft = getstyle(target,'left')}
if(getstyle(target,'top') != 'auto'){params.starttop = getstyle(target,'top')}
};
document.onmousemove = function(e){
var e = e?e:window.event;
if(params.isdrag){
var curx = e.clientx, cury = e.clienty, desl = curx-params._x+parseint(params.startleft), dest = cury-params._y+parseint(params.starttop);
target.style['left'] = desl>=0?desl + 'px':0;
target.style['top'] = dest>=0?dest + 'px':0;
}
}
};

拖拽其实就涉及的鼠标的三个事件,onmousedown,onmouseup,onmousemove,再结合获取鼠标的位置以及层的left和top即可实现类似的效果。

时间: 2024-11-26 15:19:05

js 拖动效果的相关文章

js拖动效果

提示:您可以先修改部分代码再运行 <!-- Com=window.Com||{}; Com.Common={     isIE6:function(){return navigator.userAgent.search('MSIE')>0&&navigator.userAgent.search('6')>0;},     isIE:function(){return navigator.userAgent.search('MSIE')>0;},     isOper

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实现超简单的鼠标拖动效果_javascript技巧

本文实例讲述了JS实现超简单的鼠标拖动效果.分享给大家供大家参考,具体如下: 这里使用尽可能短的JavaScript代码写一个JS拖动,函数本身287个字符...如果不是考虑兼容性和变量封装,还可以更短点. 运行效果截图如下: 在线演示地址如下: http://demo.jb51.net/js/2015/js-s-drug-demo/ 具体代码如下: <title>尽可能短的写一个JS拖动</title> <body> <div id="demo&quo

js实现一个可以兼容PC端和移动端的div拖动效果实例_javascript技巧

前段时间写了一个简单的div拖动效果,不料昨天项目上正好需要一个相差不多的需求,就正好用上了,但是在移动端的时候却碰到了问题,拖动时候用到的三个事件:mousedown.mousemove.mouseup在移动端都不起任何作用.毕竟移动端是没有鼠标的,查资料后发现,在移动端与之相对应的分别是:touchstart.touchmove.touchend事件.还有一点要注意的是在PC端获取当前鼠标的坐标是:event.clientX和event.clientY,在移动端获取坐标位置则是:event.

JS响应鼠标点击实现两个滑块区间拖动效果_javascript技巧

本文实例讲述了JS实现的两个滑块区间拖动效果代码.分享给大家供大家参考,具体如下: 网页上的滑块功能如何实现呢?其实用JS就可以,这就是一个网页滑块,两个滑块可以任意拖动,形成一个滑块区间,而且代码兼容IE和其它主流的浏览器,两个滑块确定一个区间范围. 运行效果截图如下: 在线演示地址如下: http://demo.jb51.net/js/2015/js-hkqj-td-style-codes/ 具体代码如下: <!DOCTYPE html> <html> <head>

jquery div拖动效果示例代码

 div拖动效果想必大家都有见到过吧,实现的方法也是有很多的,下面为大家将介绍使用jquery是如何实现的,感兴趣的朋友不要错过 代码如下: <%@ page language="java" contentType="text/html; charset=utf-8"  pageEncoding="utf-8"%>  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transi

使用bootstrap实现多窗口和拖动效果_javascript技巧

有时开发一些特效,自己感觉挺爽的,像操作自己电脑一样操作你的网页,这里就介绍一个使用bootstrap的一点多窗口和拖动效果吧! 这里,我们不使用静态打开的的方式,low...,1.添加一个a链接 触发,打开按钮;2.编写动态打开js脚本; 3.编写modal中间内容;4.添加拖动效果;5.打开多个modal , 调用dragModal(new Array('modalId1','modalId2')); 1.添加一个a链接 触发,打开按钮: <a href="javascript:;&q

Android编程实现图标拖动效果的方法_Android

本文实例讲述了Android编程实现图标拖动效果的方法.分享给大家供大家参考,具体如下: 最近优化图标拖动时的速率,稍微有一点点效果,直接把代码贴出来,有兴趣一起讨论的朋友可以给我留言. 代码如下: DragView.java package com.android.dragtest; import android.content.Context; import android.util.AttributeSet; import android.util.Log; import android.

基于jquery的一行代码轻松实现拖动效果_jquery

实现拖动效果. 复制代码 代码如下: $(document).ready( function() { $("#divPanel").easydrag(); } ); Html 代码 复制代码 代码如下: <div id="divPanel" style="width:300px;height:300px;background:white;border:1px solid #000000;position:absolute;left:5px;top:5