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

js动态添加div

问题 有没有遇到过这样的需求, 在页面上会有不定个input, 点击添加按钮就添加 ?...点击的时候, 将div准备好, 添加到内容div中的第一个 点击每行的添加div添加到当前点击行后面一个 点击每行删除 删除当前div 实现 基本思路很简单, 只要在每个点击按钮上添加对应的点击事件...我在封装的时候喜欢先想用的时候怎么用, 然后根据这个思路来想应该怎么封装, 思考如下 因为添加div肯定是不同的, 是需要传的参数, 但是如果直接传div字符串也太丑了, 应该在页面直接写HTML,...当前实现还很简陋, 代码放在码云上, 发现问题再更新, 下载后可以直接运行demo文件 https://gitee.com/hujingnb/addDivItem 下面是当前的简单实现, 要看最新代码请移步码云...this.num = 0; } // 向内容div的第一个添加 AddItem.prototype.addFistItem = function () { // 判断是否超出最大数量

24.4K40
您找到你想要的搜索结果了吗?
是的
没有找到

1小时搞定卡片拖拽、自动排列交换位置、拖拽数据存取

总共有三篇文章,介绍组件的制作思路和遇到的问题,以及在发布到npm上下载使用的过程中,发生了什么问题如何解决。...第一篇为组件封装后的使用文档及介绍 第二篇为组件的实现思路以及细节 第三篇为将组件打包并上传至npm,如何实现按需加载和下载后使用的问题 这是vue实现拖动卡片组件,主要实现了: 拖动卡片与其他卡片的位置更换...,并且其他卡片根据拖动的位置自动顺移,位置数据实时更新 拖动的时候可使用鼠标滚动 卡片根据数据生成,所有参数和内容都是可以自定义的,方便应用于不同场景 不同操作的事件都可获取到,拖动后的位置数据会实时更新...下载carddragger npm install carddragger 复制代码 全局安装 在你vue项目的入口js文件中使用,vue-cli生成的项目一般为main.js文件 import {installCardDragger...若不添加的自定义内容的话,标题栏和内容都是默认背景为白色,显示data中的name。若添加了自定义内容则背景需要自己设置。

3.8K21

Qt编写安防视频监控系统30-GPS运动轨迹

GPS运动轨迹这个功能,也需要用到js的知识,其实就是封装一个js函数,绘制对应的线条路径,这个轨迹点可能包括的信息有经度、纬度、速度、时间、是否标记、时间等信息,写个结构体封装下,方便后期拓展,是否标记的含义是是否改点同时作为一个设备点添加...封装了百度地图,视图切换,运动轨迹,设备点位,鼠标按下获取经纬度等。 支持图片地图,设备按钮可以在图片地图上自由拖动自动保存位置信息。 在百度地图和图片地图上,双击视频可以预览摄像头实时视频。...顶部鼠标右键菜单,可动态控制时间CPU+左上角面板+左下角面板+右上角面板+右下角面板的显示和隐藏,支持恢复默认布局。 工具栏可以放置多个小图标和关闭图标。...左侧右侧可拖动拉伸,自动记忆宽高位置,重启后恢复。 双击摄像机节点自动播放视频,双击节点自动依次添加视频,会自动跳到下一个,双击父节点自动添加该节点下的所有视频。...集成百度在线地图和离线地图,可以添加设备对应位置,自动生成地图,支持缩放和添加覆盖物等。 视频拖动到通道窗体外自动删除视频。 鼠标右键可删除当前+所有视频,截图当前+所有视频。

2.6K00

用JavaScript实现div鼠标拖拽效果

一个简单的可拖动div,随着鼠标的移动,实现原理鼠标按下时根据onmousemove事件来动态获取鼠标坐标位置以此来更新div的位置,实现的前提时div要有一个定位效果,不然的话是移动不了它的。...演示(鼠标按住拖动) CSS样式 .box { position: absolute; width: 200px; height: 200px; background:...red; } HTML 首先先分析一下需求,这个需求就是点击时鼠标按下你才能移动改变div在页面中的位置。...鼠标松开你就不能在移动了。所以这里鼠标的状态有三个,分别是 点击时鼠标按下(mousedown事件) 移动时(mousemove事件) 松开时(mouseup事件) 所以js部分有三个事件。...isDrop = false;//设置为false不可移动 } 现在div已经可以拖拽了,目前还需要添加一个范围限定,不然div会拖到页面外面去,这样不行的所以得添加范围限定。

2.5K30

【实战技巧】VUE3.0实现简易的可拖放列表排序

所以我就想添加一个拖拽排序的功能,在编辑模式下,可以通过拖拽图标进行排序,退出编辑模式自动保存,这样就解决了上面的问题,优化了用户体验。 下面就详细记录一下此功能的实现。...例如,用户可使用鼠标选择可拖拽(draggable)元素,将元素拖拽到可放置(droppable)元素,释放鼠标按钮以放置这些元素。拖拽操作期间,会有一个可拖拽元素的半透明快照跟随着鼠标指针。...首先给被拖放的元素添加 draggable 属性添加 dragstart 事件处理函数 定义拖放数据,本例定义的是拖拽元素的id 定义一个释放区域,添加 drop 和 dragover 事件处理函数...,阻止默认事件 处理拖放数据 拖放结束,添加 dragend 事件处理函数例子 代码 <div id="child...原生js实现拖拽排序我还没有弄,但是在vue中就非常的简单,因为我们在触发任何事件的时候,都可以拿到元素的index,我们可以靠index轻易实现

1.9K40

前端实现伸缩框

JS 实现伸缩框 我们的思路是这样子的: 实现右下角的三角拖动图标 计算伸缩框距离左边和顶部的距离 监听鼠标的点击、拖动、抬起事件,记录鼠标当前相对视窗左上角点的左侧距离和顶部距离 计算鼠标距离边框左侧的距离...Ok,万事俱备,我们来实现下: rxjs both 类名为 icon-resize 的元素是用来实现右下角的三角图标的,这里我们结合 css 中的伪元素来实现: :root { --primary-color: #3498db...当鼠标按下拖动的时候,触发对伸缩框的宽度和高度的重新计算赋值。当鼠标抬起后,结束监听。...原理都一样,读者感兴趣的话,可以自行实现~ 总结 我们实验了两种的伸缩方法: CSS 中 resize 结合 overflow 来实现,虽然能够完成任务,但是太固化,适合不讲究页面布局的时候实现 JS

19910

快速搭建一个代码在线编辑预览工具

各部分都可以拖动进行调节大小,比如按住js编辑器左边的灰色竖条向右拖动,那么js编辑器的宽度会减少,同时css编辑器的宽度会增加,如果向左拖动,那么css编辑器宽度会减少,js编辑器的宽度会增加,当css...,同时减少找到的第一个有空间的编辑器的宽度,直到无法再继续拖动; 3.如果是向右拖动的话,检测本次拖动编辑器及其右侧是否存在还有空间可以压缩的编辑器,没有的话也代表不能再拖动,如果有的话,找到第一个减少该编辑器的宽度...实现也很简单,高亮可以通过css类名控制,缩进换行可以使用div和span来包裹,具体实现就是像深拷贝一样深度优先遍历json树,对象或数组的话就使用一个div来整体包裹,这样可以很方便的实现整体缩进,...执行输入的js console的最后一个功能是可以输入js代码然后动态执行,这个可以使用eval方法,eval能动态执行js代码返回最后一个表达式的值,eval会带来一些安全风险,但是笔者没有找到更好的替代方案...其他功能 另外还有一些实现起来简单,但是能很大提升用户体验的功能,比如添加额外的css或js资源,免去手写link或script标签的麻烦: 预设一些常用模板,比如vue3、react等,方便快速开始

4K20

快速搭建一个代码在线编辑预览工具(实战)

各部分都可以拖动进行调节大小,比如按住js编辑器左边的灰色竖条向右拖动,那么js编辑器的宽度会减少,同时css编辑器的宽度会增加,如果向左拖动,那么css编辑器宽度会减少,js编辑器的宽度会增加,当css...,同时减少找到的第一个有空间的编辑器的宽度,直到无法再继续拖动; 3.如果是向右拖动的话,检测本次拖动编辑器及其右侧是否存在还有空间可以压缩的编辑器,没有的话也代表不能再拖动,如果有的话,找到第一个减少该编辑器的宽度...实现也很简单,高亮可以通过css类名控制,缩进换行可以使用div和span来包裹,具体实现就是像深拷贝一样深度优先遍历json树,对象或数组的话就使用一个div来整体包裹,这样可以很方便的实现整体缩进,...复制代码 执行输入的js console的最后一个功能是可以输入js代码然后动态执行,这个可以使用eval方法,eval能动态执行js代码返回最后一个表达式的值,eval会带来一些安全风险,但是笔者没有找到更好的替代方案...其他功能 另外还有一些实现起来简单,但是能很大提升用户体验的功能,比如添加额外的css或js资源,免去手写link或script标签的麻烦: ?

4.4K30

基于jsplumb构建的流程设计器

/删除/移动 变迁的添加/删除 活动/变迁数据的全部读取 根据json渲染活动与变迁 相关引入依赖如下表所示 名称 功能 jsplumb.js 设计器主要依赖,用于绘制相关图形与动态操作实现 jquery.js...jsplumb依赖的库 jquery-ui.js jsplumb依赖的库,进行拖拽绑定 contextMenu.js 实现右击菜单 mustache.js 模板引擎渲染活动,避免字符串拼接 实现思路...活动添加 通过mustache的render方法渲染添加到html后,需要调用draggable方法让活动能够进行自由拖动,其中grid参数作用是固定每次拖拽移动最小距离,便于不同节点经过移动后对齐...}}} jsPlumb.draggable(id, { containment: 'parent', grid: [8, 8] }) 活动删除...jsplumb节点可以添加相关锚点,连接不同锚点会自动绘制连线,在实际操作时连线要求锚点对准操作精度较高不便捷,所以我们通过设置节点整体对象为连接对象,可实现鼠标放置在活动div范围内进行拖拽连线,需要注意

37220

手写原生代码专题 | 图片拖拽效果(一)

,提示用户可以在此位置放置被拖动的图片,结束拖动时(松开鼠标时),图片将会放置在目标方格内。...) drag(dragstart 事件触发后,只要元素还在被拖动时,就会持续触发 drag 事件,类似 mouseover,随着鼠标移动而不断触发) dragend(当拖动元素的动作停止时即松开鼠标时,...1、编写HTML代码 html代码文件比较简单,我们依次创建5个div方格,并将被拖动的图片元素容器初始化放置在第一个方格内,并在元素上添加拖动属性 draggable 值为 true,表示此元素可被拖动...接下来我们分别来定义相关事件函数, dragstart :当图片目标刚被拖动时,我们为元素添加灰色的粗边框属性 .hold,并将当前此元素的容器背景div隐藏,这里使用样式 invisible。...,松开鼠标时触发,我们先将当前位置的样式更改为empty,并在其中添加拖动的图片元素容器。

2.2K30

抛开插件,你真的懂拖动怎么实现吗?

回到正题,本章将分享一些关于 Javascript 中拖动的内容,探索拖动过程的奥秘。 元素拖动 刚开始,咱们循序渐进,先来实现一个最简单的功能,让一个元素变成可拖动元素。 布局与样式: <!...e.clientY; // 添加鼠标移动与释放事件 document.addEventListener('mousemove', mouseMoveHandler);...效果: 大致原理过程:计算鼠标拖动的横向与纵向距离,再结合元素本身的 offsetTop 与 offsetLeft 信息,就能实现元素的拖动。 没几行代码,应该不难哈,都写上详细的注释啦。...大概二者的区别如下: 1️⃣ 拖动元素的位置 = 拖动元素原本位置 + 拖动距离 2️⃣ 拖动元素的位置 = 根据鼠标最新位置直接计算拖动元素的最新位置 = 鼠标最新位置 - 鼠标拖动元素上的距离 鼠标拖动元素上的距离...(注意是拖动列表的项!!!) 那咱们先来看看如何动态创建出这个列表叭。 相关 HTML 结构就是上面那个表格布局了,没了。 相关 CSS 样式: <!

3410

js实现动态添加具有相同name的input+动态添加的input绑定事件+保存前判断所有name为空阻断提交

一、在动态上传章节信息时,碰到了一系列的问题,主要有: 1、动态添加的input元素绑定的事件失效了。 2、提交保存时,多个name相同的表单如何判空阻断提交。...二、问题界面展示: (1)在这个页面中,第一个form表单,是开始就有了,第二个是点击按钮后动态添加的,它的判断是否为空是无效的。...js的append()方法实现,在idea中,我直接复制上面的html代码,粘贴进入append方法中,他会自己转义,特别方便。...,比如添加的表单,不需要可以点击×号删除,要想实现效果,但不知道怎么做的时候,我们可以自己写点击事件,不用框架的,因为我们无法把握人家的js,这只是本人的一种思路,会的不用理会。...在此处,我需要实现可以把动态添加的表单删除,我在添加时都加了remove()方法,每次点击,它会自己调用完成操作。

6K20
领券