微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用 HTML 拖动尺寸较大时图像淡出

如何解决使用 HTML 拖动尺寸较大时图像淡出

我们正在使用 HTML 的拖放功能

如你所见,div 的宽度是 410px,如果开始拖动这个 div,它的鬼影会完全淡出。我在拖动它们时要显示大/大图像,因为它们的尺寸很大,它们开始完全淡出。有什么问题吗?


如果我将 div 宽度更改为 210px,那么重影图像看起来不错。那么410px有什么问题呢,有什么限制吗?如果是,我该如何增加它?

var els = document.getElementsByTagName('div');
for (var i = 0,l = els.length; i < l; i++) {
    els[i].addEventListener('dragstart',function (e) {
        e.dataTransfer.setData('text/plain',e.target.innerText);
    });
}
div {
    display: inline-block;
    line-height: 300px;
    text-align: center;
    background: orange;
    margin: 20px;
}
<div draggable="true" style="width:410px">Item 2</div>

解决方法

使用 event.dataTransfer.setDragImage(new Image(),0) 隐藏原始图像; 在拖动启动。 onDrag 获取重影图像,使用 event.pageX、eventet.pageY 更新位置

onDrag(event){
    event.preventDefault();
    const parentElement = <HTMLDivElement>(document.querySelector('.darggable-ghost-wrapper'));
    parentElement.style.position = "fixed";
    parentElement.style.left = event.pageX  + "px";
    parentElement.style.top = event.pageY + 5 +  "px";
    parentElement.style.opacity = ArhitectUtlityConstants.GHOSTPREVIEW.ghostOpacity;
    parentElement.style.border = "1px solid green !important";
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。