首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

js 实现元素拖拽

概述 js 实现拖拽,主要使用元素的 onmousedown、onmousemove、onmouseup 三个事件实现。...1、onmousedown:鼠标按下事件 2、onmousemove:鼠标移动事件 3、onmouseup:鼠标抬起事件 实现思路 我们当左键点击时,需要记录当前的鼠标点击位置相对于该元素左上角的x,y...坐标,这里我们使用diffX和diffY来表示 然后我们移动时需要不断计算当前元素距离浏览器左边和上边的距离; 同时给元素进行赋值; 当鼠标抬起时,取消鼠标移动事件和鼠标抬起事件。...id="drag"> window.onload = function () { //获取drag元素...clientX 和 clientY 默认是以元素左上角位置来计算的,这里需要向左向上同时减去鼠标点击的位置差,从而可以保证鼠标始终显示在拖拽元素时的位置

10K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    原生JS 实现页面元素的拖动 拖拽

    实现原理 要实现页面元素的拖动,其原理就是根据鼠标的移动实时的更改元素的left 和 top值(当然元素肯定是要做绝对定位的),那么就达到我们要的效果了呀!...鼠标的位置是可以通过 e.clientX 获取的,通过获取的值减去鼠标和目标元素之间的偏移量,就是我们的 left 值了呗, top值是同理的,不过记住要设置界限哟,不然跑出去了。... window.onload = function () { // 目标元素...move.onmousedown = function (e) { // 获取事件对象 var e_down = e || window.event; // 计算鼠标点击的位置 和 目标元素之间...e_down.clientX - e_down.target.offsetLeft; var y = e_down.clientY - e_down.target.offsetTop; // 我们想要拖拽元素

    5.3K30

    HTML5、JS实现元素拖拽排序

    想要启用drag,只要给元素加上draggable="true"就行了(Safari 5.1.2除外)。拖动事件事件分为两类,当前拖动的元素上的事件,以及要放置的位置接收到的事件。...一.发生在拖动元素上的事件:事件名 触发时机 触发次数dragstart 当拖动开始时触发一次 1drag 拖动开始后反复触发 ndragend 拖动结束后触发一次二.发生在目标元素上的事件事件名 触发时机...触发次数dragenter 当拖动元素进入目标时触发一次 1dragover 当拖动元素在目标元素范围内时反复触发 ndrop 拖动元素在目标元素内释放时(在设置了dropover事件的前提下) 1信息传递在拖动元素时可以设置传递的信息...dragingRect, draging); _animate(targetRect, target); } } } //获取元素在父元素中的...el.parentNode) { return -1; } //previousElementSibling属性返回指定元素的前一个兄弟元素(相同节点树层中的前一个元素节点

    51960

    元素显示与隐藏

    在CSS中有三个显示和隐藏的单词比较常见,我们要区分开,他们分别是 display visibility 和 overflow。 他们的主要目的是让一个元素在页面中消失,但是不在文档源码中删除。...display 显示 display 设置或检索对象是否及如何显示。...display : none 隐藏对象 与它相反的是 display:block 除了转换为块级元素之外,同时还有显示元素的意思。 特点: 隐藏之后,不再保留位置。...visibility 可见性 设置或检索是否显示对象。 visible :  对象可视 hidden :  对象隐藏 特点: 隐藏之后,继续保留原有位置。...auto :   超出自动显示滚动条,不超出不显示滚动条 hidden :  不显示超过对象尺寸的内容,超出的部分隐藏掉 scroll :  不管超出内容否,总是显示滚动条

    4.3K40

    【CSS】标签显示模式 ② ( 行内元素 | 行内块元素 )

    行内元素特点 : 单行多个 : 在 一行 中 , 可以 设置显示多个 行内元素 ; 宽高无效 : 行内元素 的 宽高 设置是 无效的 , 以 子内容 的大小来确定 ; 默认宽度 : 行内元素 的 宽度...1 行内元素2 显示效果 : 为 span 标签设置的 宽高 都是无效的 , 设置的 200 x 200 像素的宽高 , 显然没有成功..., 行内元素的宽高只取决于 元素 本身的宽高 ; 二、行内块元素 ---- 1、行内块元素简介 行内块元素 标签 是 特殊的标签 , 可以在 一行内显示多个 , 但是同时也可以为其设置 宽高属性 和...: 显示样式 : 行内块元素 默认 都在一行中显示 , 每个元素之间会自动添加间隔 ; 宽高设置 : 行内块元素 的 默认宽高 是 元素本身的宽高 , 但是也可以设置宽高 ; 样式设置 : 行内块元素...: 没有设置图片宽度时的样式 : 显示的是图片原本的宽高 ; 设置了图片宽度的样式 : 显示的 图片宽度 是 设置的 200 像素宽度 ;

    1.5K10

    jQuery框架实现元素显示及隐藏动画【附案例分析】

    并不是的,jQuery中也充分的考虑到了这一点,所以在有一个既能实现显示又能实现隐藏的方法 toggle([speed],[easing],[fn]) 当调用该方法的时候,元素就会被隐藏掉,类似于...: // 滑动能显示能隐藏 $("#showDiv").slideToggle("slow"); 滑动方式下实现效果如图: 三、淡入淡出方式显示和隐藏 淡入淡出方式下进行元素显示和隐藏其实和上面两种方法一样的..."fetch") 淡入淡出方式下运行的效果如下: 以上就是利用jQuery框架对元素进行显示和隐藏的方法,下面是上面实例的完整实现代码: // 图片延时显示和隐藏的步骤 // 1、在页面加载完成之后调用定时器setTimeout

    6.4K20

    【CSS】标签显示模式 ③ ( 标签显示模式转换 | 行内元素转换为块级元素 | 块级元素转换为行内元素 | 块级元素、行内元素转换为行内块元素 )

    文章目录 一、标签显示模式转换 1、行内元素转换为块级元素 2、块级元素转换为行内元素 3、块级元素、行内元素转换为行内块元素 一、标签显示模式转换 ---- 1、行内元素转换为块级元素 在 CSS...样式中设置属性值 display: block; , 可以将 行内元素 转换为 块级元素 ; span { /* 行内元素 转换为 块级元素 */ display:...: 2、块级元素转换为行内元素 在 CSS 样式中设置属性值 display: block; , 可以将 行内元素 转换为 块级元素 ; span { /* 行内元素 转换为...CSS 样式属性 : 3、块级元素、行内元素转换为行内块元素 在 CSS 样式中设置属性值 display: inline-block; , 可以将 块级元素 或 行内元素 转换为 行内块元素 ;... div { /* 块级元素 或 行内元素 转换为 行内块元素 */ display: inline-block; } 代码示例 : <!

    1.5K10

    【CSS】标签显示模式 ① ( 标签显示模式 | 块级元素 )

    文章目录 一、标签显示模式 ( 块级元素 | 行内元素 ) 二、块级元素 1、块级元素简介 2、块级元素特点 3、文字块级元素 4、代码示例 一、标签显示模式 ( 块级元素 | 行内元素 ) ---...- 标签显示模式 : 指的是 标签显示的方式 , 标签类型有很多 , 不同的情景使用不同类型的标签 ; 块级元素 : div 标签 独占一行显示 , 对应 块标签 ; 行内元素 : span 标签可以...在一行放置多个进行显示 , 对应 行内标签 ; 二、块级元素 ---- 1、块级元素简介 块级元素 可以 独占一行显示 , 常见的 块级元素 标签 : 标题标签 : , , … ,... ; 段落标签 : ; 块标签 : ; 列表标签 : , , ; 上述标签都会 独占一行显示 ; 2、块级元素特点 块级元素 特点 : 独占一行...; 段落标签 : 标签是特殊的 块级元素 , 其中不能包含 标签 , 只能放文字内容 ; 如果在 p 标签内放置 块级元素 , 会显示错误效果 ; 标题标签 : 标题标签中只能放置文字

    1.8K30
    领券