javascript拖动div

div拖动代码,在用此代码之前,你可能需要将你需要拖动的元素style设置position: absolute;

#textareaSavaDiv{
    position: absolute;     right:50px;    width:300px;    height:300px;
}

html

<div id="textareaSavaDiv">     <input type="text" id="username"/>
</div>

  

纯JS拖动div代码

<script>
  var rDrag = {
    o: null,
    init: function(o) {
        o.onmousedown = this.start;
    },
    start: function(e) {
        var o;
        e = rDrag.fixEvent(e);
        e.preventDefault && e.preventDefault();
        rDrag.o = o = this;
        o.x = e.clientX - rDrag.o.offsetLeft;
        o.y = e.clientY - rDrag.o.offsetTop;
        document.onmousemove = rDrag.move;
        document.onmouseup = rDrag.end;
    },
    move: function(e) {
        e = rDrag.fixEvent(e);
        var oLeft, oTop;
        oLeft = e.clientX - rDrag.o.x;
        oTop = e.clientY - rDrag.o.y;
        rDrag.o.style.left = oLeft + ‘px‘;
        rDrag.o.style.top = oTop + ‘px‘;
    },
    end: function(e) {
        e = rDrag.fixEvent(e);
        rDrag.o = document.onmousemove = document.onmouseup = null;
    },
    fixEvent: function(e) {
        if (!e) {
            e = window.event;
            e.target = e.srcElement;
            e.layerX = e.offsetX;
            e.layerY = e.offsetY;
        }
        return e;
    }

};
window.onload = function() {
    var obj = document.getElementById(‘textareaSavaDiv‘);
    rDrag.init(obj);
};
</script>

以上代码就可以实现拖动div的效果

但是,如果你的div里面有输入框或者需要操作的元素的时候,就会无法输入或者无效果原因是你使用了移动层,因为层的覆盖,把输入框给挡住了

想要实现可以div里面元素有效需要js获取焦点

在拖动的时候让输入框ID获取焦点

window.onload = function() {
    var obj = document.getElementById(‘textareaSavaDiv‘);
    document.getElementById("username").focus();
    rDrag.init(obj); };
时间: 2024-10-09 09:29:45

javascript拖动div的相关文章

Javascript 简单实现鼠标拖动DIV

http://zhangbo-peipei-163-com.iteye.com/blog/1740078 比较精简的Javascript拖动效果函数代码 http://www.jb51.net/article/10578.htm <html> <head><title>拖动效果函数演示 by Longbill.cn</title> <style> body { font-size:12px; color:#333333; border : 0px

JS拖动DIV布局

方法一: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charse

jquery拖动DIV[转]

<!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="Conte

js实现可拖动Div

js实现可拖动Div 随着时代的变化,越来越感觉到js的重要性,js不仅可以做web页面(如Ext框架),还可以做一些web的特效,这些特效不仅兼容PC,而且兼容手机端,毕竟是基于浏览器的,和平台没关系.现在微软的windows8 系统的App都可以用js开发了,大家有时间可以去尝试一下. 现在切入正题,说一下js 实现可拖动Div.实现这个功能我们先说一下思路: 1.捕捉鼠标div的mousedown事件 2.捕捉 document的   mousemove事件 3.取消事件 然后我们看一下代

基于jquery的可拖动div

昨天给大家介绍了一款基于jquery ui漂亮的可拖动div实例,今天要给大家分享一款基于jquery的可拖动div.这款可拖动div只要引用jquery就可以,无需引用jquery ui.还实时记录的鼠标的坐标.一起看下效果图吧. 在线预览   源码下载 实现的代码. html代码: <span class="text noselect">DRAGGIN' WINDOWS<br /> <a href="http://www.w2bc.com&q

一款基于jquery ui漂亮的可拖动div实例

今天要给大家带来一款基于jquery ui漂亮的可拖动div实例.这款实例用了图片当背景,div层采用了幽灵透明效果.div拖动是基于jquery ui的.界面非常漂亮.一起看下效果图: 在线预览   源码下载 实现的代码. html代码: <div id="box1" class="box blurred-bg tinted"> <h1> Blurred Background</h1> <h2> By <a h

2017.9.24 基于HTML+JavaScript+CSS的开发案例&amp;&amp;JavaScript+CSS+DIV实现表格变色

1.JavaScript+CSS+DIV实现下拉菜单 1.1 层标签<div> 基本语法: <div id="层编号" style="position:absoult;left:29px;top:12px; width:200px;henght:100px;background-color:#33CC99; float:none;clear:none;z-index:1"> </div> 语法说明: ·position属性主要是来

[可拖动DIV]刚开通博客顺便就写了点东西!

说说我自己的思路 首先需要一个初始div div { border: 1px #333 solid; width: 200px; height: 50px; } <div id="od">我是一个可拖动div</div> 然后就是鼠标事件,想象一下拖动这个过程需要用到哪些事件... 1.鼠标按钮按下事件mousedown 2.鼠标按钮松开事件mouseup 3.鼠标移动事件mousemove 第一步:给div添加鼠标按钮按下事件,这个事件需要完成以下事情 一.获

JavaScript 创建DIV 设置样式不起作用,很多都是因为设置样式的顺序问题

JavaScript 创建DIV 设置样式不起作用,很多都是因为设置样式的顺序问题,因为有的样式需要之前设置其他样式才能生效,推荐的样式排序如下: insertDIV:function(){ var divId=document.getElementById("divContainer"); if(divId){ divId.style.display="block";   //作用:一般这种需要设置退出时候就消失了,可以设置display为none隐藏,那么再添加