我正在使用 jQuery animate 来更改页面上多个元素(装饰元素)的位置。如果元素退出body
区域,我希望元素被删除。(如果left
大于body width
或top
大于body height
)。
在我的情况下不能使用以下内容:
- 为身体隐藏溢出
- 手动为元素设置动画。我想使用 jQuery animate 来保持简单(我动态地创建元素,为它们设置动画然后我不关心它们,不跟踪它们,当动画完成时它们有一个 .remove() 方法)
所以在这个 JSfiddle 中,我希望红色 div 在到达右边缘时消失,body
这样就不会出现滚动条。
例如,是否没有任何 CSS3 媒体查询,以便如果 div 不在视口中,它将被隐藏?
编辑:
我只是想到了一个解决方案:在触发动画之前获取主体的宽度,然后top
通过left
使用主体大小和动画应该做什么之间的最小值来设置动画。问题是这会影响动画速度。