javascript - 令人难以置信的缓慢和断断续续的 jquery 动画

标签 javascript jquery html css animation

所以我一直在创建一个简单的动画,它复制一个 div,并将其扩展到窗口上。我正在尝试对其进行优化,以使其不那么不稳定,并且想知道是否有人可以帮助我。所以我一直在读到你不能对正在动画的元素进行任何填充或边距设置,因为这会减慢一切。这是我正在使用的动画功能:

$('.content_cell').on('click', function(event) {
        var $clonedElement = $( this ).clone(true).attr('class','cloned_object content_cell').appendTo('#mainContentTable');
        $clonedElement.css({left:$(this).position().left, 
                            top:$(this).position().top, 
                            opacity:0}) ;

        //Position caching for closing animation
        selectedPos = $(this).position();           
        var currPos= $('#invitedToChatCell').position();

        //Now animate the cloned element to the correct size
        $clonedElement.animate({
            height:640, width:700, 
            //position:'absolute', 
            left:currPos.left, 
            top:currPos.top, 
            opacity:1.0 
        }, 500, function(){ $('.cloned_object > ul').toggle(); });
        event.stopPropagation();
    });

内容单元格 CSS 和克隆对象的 CSS 看起来像这样

.content_cell {
   border-style: solid;
   cursor:pointer;
   width:300px;
   height:300px;
   overflow:auto;
}

.cloned_object{
   position:absolute;
   background-color:white;
   width:300px;
   height:300px;
}

有没有人明白为什么这个动画这么慢?或者我能做些什么来加快速度?提前致谢...

更新: 这是一个 JSFiddle link

最佳答案

不仅仅是简单的 JQuery 动画往往是“滞后的”。 我尽可能使用 css-animations/css-transforms。

您可以做的是使用 jquery 克隆 div 并将其放在带有一些新的 css 类的屏幕上。让 css 处理扩展部分。

有关 CSS 示例和好的想法,请参阅:http://daneden.me/animate

刚刚找到另一个解释 css 部分的线程:Expand div from the middle instead of just top and left using CSS

关于javascript - 令人难以置信的缓慢和断断续续的 jquery 动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9178927/

相关文章:

javascript - 在 Internet Explorer 中获取 png 上的图像错误框?

javascript - 当我在事件处理程序内部引用对象的参数时,即使将其设置为对象,该参数也始终为 null

jquery - 在没有 <input type ="number"> 的情况下在移动设备上调出小键盘

php - 在jquery中执行sql查询,以便从html表和数据库中删除数据

html - :first-child CSS Selector not targeting correct element

javascript - 选中复选框时调用 Ajax 或提交按钮

javascript - 在幻灯片末尾停止 Twitter Bootstrap Carousel

javascript - Google Maps API v3 InfoWindow 首先出现在不正确的位置,然后正确加载

javascript - 如何在 Rails 中使用普通文本区域切换 CKEditor?

jquery - Struts2-Jquery Grid CSS 编辑