使用javascript调整包含浮点数的div的大小时,浮点数不';回流焊
我有一个容器div,它可以容纳20多个div,这些div向左浮动。当我使用Tween.js通过javascript动画调整父div的大小时,浮动不会回流到新的大小,除非我将鼠标移到其中一个div上 似乎有什么东西阻止了页面刷新 我在想也许有一种方法可以通过javascript强制显示更新 更新: 我把它放在小提琴上: 单击任意缩略图以切换动画。 此版本使用TweenLite为#项目容器的“左”CSS设置动画。请注意,在动画之后必须移动鼠标才能使容器的内容回流 我在Safari5+OSX和Chrome20+OSX中得到了这个结果。在Firefox 13.0 OSX中正常工作 更新2 我看到的视频:使用javascript调整包含浮点数的div的大小时,浮点数不';回流焊,javascript,css,css-float,Javascript,Css,Css Float,我有一个容器div,它可以容纳20多个div,这些div向左浮动。当我使用Tween.js通过javascript动画调整父div的大小时,浮动不会回流到新的大小,除非我将鼠标移到其中一个div上 似乎有什么东西阻止了页面刷新 我在想也许有一种方法可以通过javascript强制显示更新 更新: 我把它放在小提琴上: 单击任意缩略图以切换动画。 此版本使用TweenLite为#项目容器的“左”CSS设置动画。请注意,在动画之后必须移动鼠标才能使容器的内容回流 我在Safari5+OSX和Chr
正如你所说,我能够重现你的问题。这似乎是webkit在动画或过渡后重新绘制或测量元素的问题 无论如何,这不是最好的解决方案,但至少目前它会起作用,希望我的发现能帮助其他人找到更多 如果向动画中添加一个onComplete,并触发.project mouseleave,它看起来工作正常:
function completeAnimate(){
$('.project').trigger('mouseleave');
}
function contract(){
// PROJECTS CONTRACT RIGHT
TweenLite.to($('#projects-container'), .5, {css:{left:"300px", opacity:".5"}, ease:Expo.easeInOut, onComplete: completeAnimate});
}
jQuery animate()和css关键帧动画的效果与您正在使用的Tween代码相同,但是,直接样式更新可以正常工作
$('#projects-container').css('left','300px');
这一点都没有问题,但当然,也没有动画
我还注意到,如果去掉.project事件绑定,它仍然不能正确地重新绘制,但是如果移动鼠标,它仍然不能正确地重新绘制。它只是保持这种状态
我还尝试使用一些通常用于强制重画的技巧来强制重画元素。我在动画开始后的一段时间内尝试了这一点,但没有成功
您还可以将两个tweens合并为一个,并在两个tweens上设置属性,仅供参考
希望这能帮助人们找到webkit转换的真正问题。你能在这里发布你的标记吗?你使用哪种浏览器?您在其他浏览器上测试过吗?尝试为内部div设置
位置:relative
。并尝试将您的代码上传到JSFIDLE。请向我们展示代码或屏幕截图。谢谢大家。请参阅更新,并回复您的所有评论@洛勒,位置:亲戚帮不上忙。