zDragDrop实现拖放

-类似google个性化首页

 

function onLoad() {

var oDraggable = new zDraggable(document.getElementById("div1"), zDraggable.DRAG_X | zDraggable.DRAG_Y);

var oDropTarget = new zDropTarget(document.getElementById("divDropTarget"));

oDraggable.addDropTarget(oDropTarget);

oDraggable.addEventListener("dragstart", function (oEvent) {

rx=oDraggable.getLeft();

ry=oDraggable.getTop();

});

oDraggable.addEventListener("dragend", function (oEvent) {

if(oDraggable.getDropTarget(oDraggable.getLeft(),oDraggable.getTop())===null){

oDraggable.moveTo(rx,ry);

}

});

oDropTarget.addEventListener("drop", function (oEvent) {

oEvent.relatedTarget.moveTo(oDropTarget.getLeft(),oDropTarget.getTop());

});

}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个使用HTML和JavaScript实现拖放的棋盘游戏的例子: ```html <!DOCTYPE html> <html> <head> <style> .chessboard { display: flex; flex-wrap: wrap; width: 400px; height: 400px; border: 1px solid black; } .square { width: 50px; height: 50px; border: 1px solid black; } .piece { width: 50px; height: 50px; background-color: red; cursor: move; } </style> </head> <body> <div class="chessboard"> <div class="square"></div> <div class="square"></div> <div class="square"></div> <div class="square"></div> <div class="square"></div> <div class="square"></div> <div class="square"></div> <div class="square"></div> <div class="square"></div> </div> <script> var draggedPiece = null; function handleDragStart(event) { draggedPiece = event.target; event.dataTransfer.setData('text/plain', null); event.target.style.opacity = '0.5'; } function handleDragEnd(event) { event.target.style.opacity = '1'; } function handleDragOver(event) { event.preventDefault(); } function handleDrop(event) { event.preventDefault(); if (event.target.classList.contains('square')) { event.target.appendChild(draggedPiece); } } var pieces = document.getElementsByClassName('piece'); for (var i = 0; i < pieces.length; i++) { pieces[i].addEventListener('dragstart', handleDragStart); pieces[i].addEventListener('dragend', handleDragEnd); } var squares = document.getElementsByClassName('square'); for (var i = 0; i < squares.length; i++) { squares[i].addEventListener('dragover', handleDragOver); squares[i].addEventListener('drop', handleDrop); } </script> </body> </html> ``` 这个例子创建了一个棋盘游戏的HTML页面。棋盘由一系列正方形的格子组成,每个格子都可以拖放棋子。棋子被表示为红色的方块,可以通过拖动它们来移动到其他格子上。当拖动棋子时,它的透明度会降低,当放下棋子时,它会被放置在目标格子中。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值