九宫格可以实现拖拽,增加,删除模块。

在下载文件页

转载于:https://www.cnblogs.com/zkzzkz/p/5119081.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你可以使用HTML5中的draggable属性和JavaScript来实现九宫格单元格的拖拽效果。以下是一个简单的实现: HTML: ``` <div class="grid"> <div class="cell" draggable="true"></div> <div class="cell" draggable="true"></div> <div class="cell" draggable="true"></div> <div class="cell" draggable="true"></div> <div class="cell" draggable="true"></div> <div class="cell" draggable="true"></div> <div class="cell" draggable="true"></div> <div class="cell" draggable="true"></div> <div class="cell" draggable="true"></div> </div> ``` CSS: ``` .grid { display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: 10px; } .cell { width: 100%; height: 100%; background-color: #ddd; } ``` JavaScript: ``` var cells = document.querySelectorAll('.cell'); var draggingCell = null; for (var i = 0; i < cells.length; i++) { var cell = cells[i]; cell.addEventListener('dragstart', function() { draggingCell = this; setTimeout(function() { draggingCell.style.display = 'none'; }, 0); }); cell.addEventListener('dragend', function() { draggingCell.style.display = 'block'; draggingCell = null; }); cell.addEventListener('dragover', function(e) { e.preventDefault(); }); cell.addEventListener('dragenter', function(e) { e.preventDefault(); this.classList.add('hover'); }); cell.addEventListener('dragleave', function() { this.classList.remove('hover'); }); cell.addEventListener('drop', function() { if (this !== draggingCell) { var temp = this.innerHTML; this.innerHTML = draggingCell.innerHTML; draggingCell.innerHTML = temp; } this.classList.remove('hover'); }); } ``` 这段代码首先选择所有的单元格,然后为每个单元格添加拖拽事件监听器。当一个单元格开始被拖拽时,我们把它的引用存储在draggingCell变量中,并且在0ms后将其隐藏。当单元格拖拽结束时,我们恢复其显示状态并将draggingCell变量设置为null。 当一个单元格被拖拽到另一个单元格上时,我们使用preventDefault()方法来防止默认的drop事件发生,并且给目标单元格添加一个.hover类。当拖拽离开一个单元格时,我们移除.hover类。当一个单元格被放置时,我们检查是否目标单元格不是当前拖拽的单元格,如果不是,我们交换它们的innerHTML。 最后,我们使用CSS来布局九宫格,并将每个单元格设置为可拖拽的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值