【发布时间】:2016-01-23 18:00:09
【问题描述】:
我正在使用 jQuery 和 jQuery UI 创建一个网页。大多数元素在进入视口时会淡入,这很好用。但是,我有一个问题。
要让元素褪色,它们必须从不可见开始,所以我给它们添加了display: none。当它们淡入时,它们会改变包含 div 的大小。
这是一个问题,因为我有一个自定义的平滑滚动功能,可以将您缓慢地带到页面的某个部分(而不是立即使用链接)。它通过检测目标元素与页面顶部的偏移量来工作。当您向下滚动并且元素淡入时,它们会使页面变长并因此改变目标元素的偏移量,从而导致滚动在目标元素出现之前停止。
有没有办法让元素在没有display: none的情况下开始动画?
注意:我不能使用opacity!请不要用这个发布答案!我使用更高级的效果,如Fold 和Slide In,这是不透明无法实现的。另外,我还没有发布代码,因为我在询问 jQuery 是否有任何参数不使用display: none
【问题讨论】:
-
是否可以选择使用
opacity:0而不是display:none? -
不是真的,我使用其他效果以及淡入淡出,例如Fold effect。使用
opacity将是我可以做的各种动画的服务限制。 -
也许你可以在这里发布一些代码......
-
究竟是什么? (虽然我知道我应该)。到目前为止我所做的一切毫无意义,因为它无助于回答问题。