如何使用动画交换两个Div
P粉191323236
P粉191323236 2023-08-26 13:55:33
[CSS3讨论组]

我有一个项目,我希望一个div出现为一个大盒子,另外三个div出现在下面作为小盒子,当你点击一个小盒子时,它会使用css过渡效果改变大小并与大盒子交换位置,以使移动和大小变化平滑。目前,我正在尝试使用jQuery,但定位根本无效。这是我目前的示例:

https://jsfiddle.net/v3pmhawj/1/

$(function () {
    let { left: x1, top: y1 } = $('.full-size-card').offset()
    
    $('.inactive-sheets .card').on('click', function() {
        let { left: x2, top: y2 } = $(this).offset()
        
        let curr = $('.full-size-card')
        let diffX = x2 - x1
        let diffY = y2 - y1
        
        $(this).css({
            left: -diffX,
            top: -diffY
        })
        $(this).addClass('full-size-card')
        
        curr.css({
            left: diffX,
            top: diffY
        })
        curr.removeClass('full-size-card')
    })
})

如果有人有涉及其他库或其他技术的建议,我愿意倾听。我希望能够在DOM中移动divs,但据我所知,如果这样做,你无法对它们进行css过渡效果,因为(我所知道的)唯一的方法是在DOM中删除并重新添加一个元素的副本。

P粉191323236
P粉191323236

全部回复(0)
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

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