html5 原生拖拽,原生JS实现拖拽效果

这篇文章主要为大家详细介绍了原生JS实现拖拽效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了JS实现拖拽效果的具体代码,供大家参考,具体内容如下

想要让整个元素移动需要三个事件:

鼠标按下 onmousedown

鼠标移动 onmousemove

鼠标抬起 onmouseup

html

登录会员

关闭

用户名:

登录密码:

登录会员

ed54df369c39eadc38aba6953d6e1b12.png

JS

var login = document.querySelector('.login');//获取整个弹框的内容

var title = document.querySelector('#title');

title.addEventListener('mousedown',function(e){

//当按下鼠标的时候,获取到鼠标在拖拽盒子内的坐标

//鼠标在页面的坐标 - 大盒子距离浏览器左侧的距离

var x = e.pageX - login.offsetLeft;

var y = e.pageY - login.offsetTop;

//鼠标移动

document.addEventListener('mousemove',move);

function move(e){

//拖拽的盒子定位=鼠标在页面的坐标 - 鼠标在拖拽盒子的坐标

login.style.left = e.pageX - x + 'px';

login.style.top = e.pageY - y + 'px';

}

//当鼠标抬起的时候,将移动事件删除

document.addEventListener('mouseup',function(){

document.removeEventListener('mousemove',move);

})

})

CSS部分

*{

padding: 0px;

margin: 0px;

}

.login {

display: block;

width: 512px;

height: 280px;

position: fixed;

border: #ebebeb solid 1px;

left: 50%;

top: 50%;

background: #ffffff;

box-shadow: 0px 0px 20px #ddd;

z-index: 9999;

transform: translate(-50%, -50%);

}

.login-title {

width: 100%;

margin: 10px 0px 0px 0px;

text-align: center;

line-height: 40px;

height: 40px;

font-size: 18px;

position: relative;

cursor: move;

}

.login-input-content {

margin-top: 20px;

}

.login-button {

width: 50%;

margin: 30px auto 0px auto;

line-height: 40px;

font-size: 14px;

border: #ebebeb 1px solid;

text-align: center;

}

.login-bg {

display: none;

width: 100%;

height: 100%;

position: fixed;

top: 0px;

left: 0px;

background: rgba(0, 0, 0, .3);

}

a {

text-decoration: none;

color: #000000;

}

.login-button a {

display: block;

}

.login-input input.list-input {

float: left;

line-height: 35px;

height: 35px;

width: 350px;

border: #ebebeb 1px solid;

text-indent: 5px;

}

.login-input {

overflow: hidden;

margin: 0px 0px 20px 0px;

}

.login-input label {

float: left;

width: 90px;

padding-right: 10px;

text-align: right;

line-height: 35px;

height: 35px;

font-size: 14px;

}

.login-title span {

position: absolute;

font-size: 12px;

right: -20px;

top: -30px;

background: #ffffff;

border: #ebebeb solid 1px;

width: 40px;

height: 40px;

border-radius: 20px;

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持炫H5(xyhtml5.com)。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/506288.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ov5640帧率配置_逃离塔科夫怎么提升帧率 帧率优化建议_单机游戏_游戏攻略

逃离塔科夫有着非常真实的游玩与画面表现,所以这类的多人游戏比较吃配置,那么帧率上不去会十分影响游戏体验,下面请看由“SIIYAM”带来的逃离塔科夫帧率优化建议,一起来看看吧。帧率优化建议:这游戏对于cpu资源分配和内…

js 带笔锋 签字版_年轻人的第一支签字笔? ——米家签字笔评测

emm感觉笔者能咕到自己都怀疑人生惹QAQ…对于小米而言,可能他家中性笔做的还真没手机那么好。但对于劝退这件事,理由其实是很复杂的。但既然决定了要来写这样一点东西,那我也自然要把我知道的和能想到的,略述一二。我们先来看看小…

itools 不支持缩略图下载_PS插件缩略图3.8.0.96安装教程

插件下载[名称]:PS插件『缩略图补丁3.8.0.96』[大小]:1.4 MB [语言]:简体中文 [安装环境]:Win7/Win8/Win10[支持版本]:PS CS6—CC2019[32/64位下载链接]:https://pan.baidu.com/s/1AlOlWzMZfYgdJSlZpbQsmw…

z370支持pcie信号拆分吗_定了!AMD B550主板确认将支持PCIE4.0,多项能力接近X570

近日,华擎B550AM Gaming主板照片和文档泄露,Micro-ATX板型、具备4内存插槽,支持PCIE4.0显卡/固态硬盘。B550芯片组本身无法拆分PCIE4.0信道,所以华擎的这张B550主板在搭配第三代锐龙时只有第一条PCIE插槽(通常安装独立显卡)和M.2固…

mac 修改conda镜像 condarc_win10 修改anaconda源

通过 conda config 命令生成配置文件,这里,我们使用清华的镜像:https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/,首先,打开CMD,执行命令:conda config --add channels https://mirro…

倒计时css和js html代码,手把手教你利用CSS和JS创建一个倒数计时器

倒计时功能,在很多地方都会用到,我们平时都习惯去用一些插件来应用,会减少不少的工作量,并且效果也能达到预期。我今天并不是想分享什么倒计时插件,而是自己写一个简单的倒数计时器,有兴趣的同学可以往下看…

手机端使用ghelper_Anki手机端使用指南(一)

【本篇会对如何使用手机端anki进行详解】有小伙伴询问在应用商店搜索anki找不到名字叫“anki”的软件,这里解释一下,在手机端的名字和电脑端的名字不太一样。安卓对应的名字叫做AnkiDroidIOS对应的名字叫做Ankimobile不过其实是一个软件,同步…

三甲医院his系统源码_三甲医院科研管理系统是什么,科研成果包括哪些

对于三甲医院来说,做科研管理系统必不可少的是数据收集,有一个方便的数据收集管理软件能记科研效率提高很多,那就是三甲医院科研管理系统,首先,我们先了解一下三甲医院科研管理系统是什么,科研成果包括哪些…

html的表格使用函数,从另一个HTML表格创建HTML表格的jQuery函数

我在页面上有一个HTML表格,我想用jQuery从中获取信息,清理/清理它,并创建一个新的“干净的”HTML表格信息。从另一个HTML表格创建HTML表格的jQuery函数我有表具有以下结构:Full Name123.456.7890456.789.0123OfficeTitleSuperviso…

git 创建邮箱 用户名_厉害了!IDEA中如何使用Git进行项目管理,完整教程来了?...

第一部分:安装1. 下载地址: https://git-scm.com/download/win如果速度慢, 使用 迅雷下载;2. 点击安装, 然后下一步, 直到下面这个页面:建议: 按照上面所示方式选中复选框 ;3. 点击下一步, 直到出现这个页面:建议: 这个页面是选择git使用的命令行, 建议使用第一个git自带的;4. …

程序员操作系统推荐_为什么程序员要会 Linux

(给伯乐在线加星标,看经典文章)作者:猫嗅花https://www.jianshu.com/p/5020fbd76d0c三大操作系统概述三大操作系统概述windows, macOS, linux是当今主流三大操作系统,普通用户一般是选择windows或macOS, linux主要是占据服务器领域市场。这三…

url中能出现的字符_网站URL配置4个技巧,轻松获得更多流量

对于刚入行的SEO新人,我们在做企业网站优化的时候,通常都是按照程序员设置的网站架构进行线上基础性内容的优化,特别是在使用一些固定CMS系统的时候,大量的站内URL都是配置固定的,很少有人去关注这方面对SEO的影响。那…

怎么修剪_幸福树怎么修剪——武汉花卉租摆

幸福树,一种寓意美好的观赏型植物,它生长非常迅速,稍不注意就长的非常茂盛。而要想保证幸福树的美貌,跟人的头发一样,我们要给它适当的修剪,那幸福树怎么修剪呢?为了大家能养出美丽的幸福树来&a…

mybatis传递多个参数_MyBatis 映射器

ps 一个用于生成MyBatis配置文件的插件 mybatis-generator使用方法呢, 是加入maven插件中 然后执行相关命令可以实现自动生成MyBatis配置文件自动映射首先编写无参的javabeanpackage com.ming.MyBatis.POJO;/** * author ming */public class Role { private int id; private S…

计算机软件水平考试什么题型,计算机软考考什么内容

原标题:计算机软考考什么内容计算机软考考试内容有哪些?软考包含三个级别,各级别有多个考试项目,不同的考试项目考试内容也是不同的。软考考试内容大家可以参考各考试项目的考试大纲,包括新版的系统分析师考试大纲、系…

mac os 开启redis_关于Redis,学会这8点就够了

一、redis是什么redis是一种支持Key-Value等多种数据结构的存储系统。可用于缓存、事件发布或订阅、高速队列等场景。该数据库使用ANSI C语言编写,支持网络,提供字符串、哈希、列表、队列、集合结构直接存取,基于内存,可持久化。二…

python第八周小测验_Python语言程序设计第2周测验+练习题复盘

嘿,这里是目录! 练习网址 https://python123.io/index 测验2 单项选择题 1. 哪个选项不能正确引用turtle库进而使用setup()函数?‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬…

计算机设备管理器驱动,驱动技巧:解决设备管理器中声卡驱动安装不正确的问题...

分类:声卡驱动问题:设备管理器中声卡驱动安装不正确描述:电脑没有声音,有部分朋友是因为声卡驱动没有正确安装,除了我们常见到的设备管理器出现黄色感叹号之外,另一种情况就是让一般人很难发现的问题&#…

lisp对excel其他行列写入_【极简Python 自动化办公】Python写入Excel表格

【极简Python 自动化办公】Python写入Excel表格【极简Python 自动化办公】专栏是介绍如何利用python办公,减少工作负荷。篇幅精炼,内容易懂,无论是否有编程基础,都非常适合。在上次文章中,我们学习了【用python读取exc…

全国大学生计算机应用大赛有什么好处,我校学生喜获第十一届全国大学生计算机应用能力与信息素养大赛冠军...

2021年6月,第十一届全国大学生计算机应用能力与信息素养大赛通过腾讯会议视频全程监控在线作答的形式圆满结束。本届大赛共有来自117所院校932名选手参加全国总决赛。经过校园赛选拔,考前集训,我校共选出3名40本科班同学参加了该赛项&#xf…