javascript - 拖拽事件的目标节点的position值一定要为absolute吗?
黄舟
黄舟 2017-04-10 16:04:24
[JavaScript讨论组]

问题如上

我将要拖拽的li设置为absolute,结果所有li重叠在一起了。
是否有更好办法解决?谢谢

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

全部回复(4)
PHP中文网

可以用j写一个布局转换,在css中先不用absolte,等li加载完再给li一个绝对定位,并且top和left的值就是刚刚页面加载时的值,这样布局就不会乱了,而且拖拽也不会影响

天蓬老师

absolute 是脱离文档流的,拖拽发生时如果设置 absolute,则必然会触发浏览器重新排版,后方的元素会填充被拖拽元素的位置,不知道这是不是你想表达的堆叠在一起的概念?

如果你不想让被拖拽的元素脱离文档流,可以使用 relative 为拖拽元素定位,这样被拖拽元素仍然会在文档流中保留自身的位置。

ringa_lee

1、初始化的时候设置每一项的位置!
2、用relative,拖拽的时候得改变dom的位置,动态刷新,否则,布局就会混乱,可以参考jqueryui中的sortable来实现!

黄舟

可以先在css中利用浮动原理给li进行布局,再在js中给li中设置absolute…进行布局转换(top和left为浮动时的值),这样既可以实现拖拽所需条件我不会挤作一团了

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号