js 实现拖动按钮添加布局

这篇具有很好参考价值的文章主要介绍了js 实现拖动按钮添加布局。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

效果:
js 实现拖动按钮添加布局,javascript,开发语言,ecmascript
h布局生成左右布局,
v布局生成上下布局
代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <script src="./jquery.min.js"></script>
    <link rel="stylesheet" href="./index.css">
    <title>Document</title>
</head>
<body>
    <div class="box">
        <div class="left">
            <div class="btn btn1" draggable="true">H布局</div>
            <div class="btn btn2" draggable="true">V布局</div>
        </div>
        <div class="right " ondrop="handleDrop(event)" ondragover="allowDrop(event)">
           
        </div>

    </div>

    <script>
       let  btn1 = document.querySelector('.btn1')
       let  btn2 = document.querySelector('.btn2')
        let right = document.querySelector('.right')
        btn1.addEventListener('dragstart',function(e) {
            e.dataTransfer.setData("text/plain", "1");
        })
        btn1.addEventListener('dragover',function(event){
            event.preventDefault()
        })
        btn2.addEventListener('dragstart',function(e) {
            console.log(e,'111')
            e.dataTransfer.setData("text/plain", "2");
        })
        btn2.addEventListener('dragover',function(event){
            event.preventDefault()
        })
        function allowDrop(e) {
            e.preventDefault();
        }
        
        function handleDrop(e) {
            e.preventDefault();
            
            var data = e.dataTransfer.getData("text/plain");
            if(data==1) {
                e.target.innerHTML = ` 
                        <div class="row">
                            <div class="row-item"></div>
                            <div class="row-item"></div>
    
                        </div>
                    `

            }else {
                e.target.innerHTML = `<div class="col">
                        <div class="col-item"></div>
                        <div class="col-item"></div>

                    </div>`
            }
        }

    </script>
</body>
</html>

css 文件:文章来源地址https://www.toymoban.com/news/detail-785270.html

.box {
    margin: 10px;
    display: flex;
    .left {
        width: 200px;
        .btn {
            width: 100px;
            height: 40px;
            line-height: 40px;
            background-color: cyan;
            color: #fff;
            text-align: center;
            margin-bottom: 20px;
        }
    }
    .right {
        flex:1;
        border: 1px solid #000;
        min-height: 400px;
    }
}
div {
    box-sizing: border-box;
}
.df {
    flex:1;
} 
.row {
    display: flex;
    width: 100%;
    height: 100%;
    .row-item {
        flex: 0 0 50%;
        // border: 1px solid #dedede;
        height: 100%;
        &:first-child {
            position: relative;
            &::after {
                content: '';
                position: absolute;
                width: 1px;
                height: 100%;
                background: #000;
                top: 0;
                right: 0;
            }
        }
    }
}
.col {
    display: flex;
    width: 100%;
    height: 100%;
    flex-direction: column;
    .col-item {
        // border: 1px solid #dedede;
        flex: 0 0 50%;
        // border-bottom: 1px solid #dedede;
        // border-right: 1px solid #dedede;
        height: 100%;
        &:first-child {
            position: relative;
            &::after {
                content: '';
                position: absolute;
                height: 1px;
                width:  100%;
                background: #000;
                left: 0;
                bottom: 0;
            }
        }
    }
}

到了这里,关于js 实现拖动按钮添加布局的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 探索 Android YouTube 拖动布局库:轻松实现视频与UI交互

    项目地址:https://gitcode.com/wuyexiong/android-youtube-drag-layout 在移动应用开发中,尤其是在涉及媒体播放和互动设计时,提供一个流畅且直观的用户体验是至关重要的。Android YouTube 拖动布局库 是这样一个工具,它允许开发者轻松地实现在观看YouTube视频的同时进行界面拖动操作。此

    2024年04月08日
    浏览(33)
  • django boostrap html实现可拖拽的左右布局,鼠标拖动调整左右布局的大小或占比

          最近需要在Django项目中,实现一个左右布局的html页面,页面框架使用的是boostrap。但这个布局不是简单的左右分栏布局,而是需要实现可以通过鼠标拖拽的方式动态调整左右两侧布局的大小和占比。效果大致如下:         一开始,页面分为左右两块布局:   鼠标放

    2024年02月13日
    浏览(30)
  • 使用css和js给按钮添加微交互的几种方式

    在现实世界中,当我们轻弹或按下某些东西时,它们会发出咔嗒声,例如电灯开关。有些东西会亮起或发出蜂鸣声,这些响应都是“微交互”,让我们知道我们何时成功完成了某件事。在本文中,我们将学习向网页按钮添加微交互的几种简单方法。 微交互是用户界面上的小交

    2024年02月14日
    浏览(41)
  • 拖动排序功能的实现 - 使用HTML、CSS和JavaScript

    在现代Web应用程序中,拖动排序是一种常见的用户界面交互方式,它允许用户通过拖动元素来重新排列列表或项目的顺序。本文将介绍如何使用HTML、CSS和JavaScript来实现手动拖动排序功能。 首先,我们需要定义一个列表,并给每个项目添加一个唯一的标识符。下面是一个简单

    2024年02月16日
    浏览(36)
  • 在JavaScript中添加css样式 js追加类

    一、原生js中添加类的方法 二、jquery中添加类的方法 三、检查是否含有某个类的方法 四、在JavaScript中添加CSS样式: 五、使用HTML DOM的setAttribute()方法更改CSS属性: 六、使用JavaScript可以通过动态创建样式表 style标签 来添加CSS样式。 例如,以下代码创建一个新的style标签,并

    2024年02月03日
    浏览(46)
  • Mkdocs中利用Js实现大小圈鼠标拖动样式

    在 docs/javascripts/extra.js 下复制粘贴: 其中比较重要的参数就是鼠标的尺寸和颜色,已经在上图中标出,目前发现颜色只支持RGB写法和固有名称写法(例如red这种),其他参数也可以自行摸索: 在docs/stylesheets/extra.css添加如下代码: 这里比较重要的参数就是鼠标跟随的圆形颜

    2024年02月15日
    浏览(24)
  • django bootstrap html实现左右布局,带折叠按钮,左侧可折叠隐藏

         在django项目中,需要使用bootstrap 实现一个左右分布的布局,左侧区域可以折叠隐藏起来,使得右侧的显示区域变大。(为了区分区域,左右加了配色,不好看的修改颜色即可)  点击折叠按钮,左侧区域隐藏,右侧区域铺满:          1、使用col-md属性,让左右两个区

    2024年02月14日
    浏览(35)
  • uniapp - 实现可拖动悬浮按钮功能,支持手指拖曳放到页面任意位置(详细示例源码及注释,复制粘贴快速植入)全端兼容H5/app/小程序!

    百度搜的代码都太难用了而且有bug。。。 本文详细讲解在uniapp中实现一个可拖动的悬浮按钮,并且兼容在 H5/app/小程序中完美运行, 你可以直接复制源码,复制到你的项目中,附带 全局组件注册 的方法(要不每个页面都需要引一次), 如下图所示,你自己修改样式就行了,

    2023年04月08日
    浏览(31)
  • 使用JavaScript和Vue.js框架开发的电子商务网站,实现商品展示和购物车功能

    引言: 随着互联网的快速发展和智能手机的普及,电子商务行业正迎来一个全新的时代。越来越多的消费者选择网上购物,而不再局限于传统的实体店。这种趋势不仅仅是改变了消费者的习惯购物,也给企业带来了巨大的商机。为了不断满足消费者的需求,电子商务网站需要

    2024年02月15日
    浏览(47)
  • 基于GSYVideoPlayer自定义布局结合RecyclerView高仿抖音实现上下滑动双击屏幕点赞/单击暂停,拖动进度条实时改变时间以及进度条放大

    注意代码量有点多,但是你不要就此放弃,看效果图决定你需不需该需求😀并且代码好理解基本上都是基于GSYVideoPlayer的方法进行重写改造出来的,请放心食用 GSYVideoPlayer是一款开源并且强大的Android视频播放器方便你们阅读了GSYVideoPlayer更快速的上手GSYVideoPlayer框架地址 效果

    2024年02月03日
    浏览(92)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包