jquery 在执行 .hide() 和 .fadeIn() 方法之前闪烁 Div 元素
这是我的代码:
$('.items').html(response).hide().fadeIn();
问题是,当加载时,页面会“跳跃”起来,因为元素在 .hide().fadeIn()
之前首先在页面上呈现(具有高度)被触发..还有其他方法可以做到这一点吗?
This is my code:
$('.items').html(response).hide().fadeIn();
The problem is that when this loads, the page "jumps" up due to the element being rendered on page first (having a height) before the .hide().fadeIn()
is triggered.. is there some other way to do this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
如果您想保持元素的尺寸不变,您可以使用不透明度:
You could using the opacity instead if you want to keep the dimensions of the element intact:
使用 CSS 隐藏,然后在需要时淡入:
css :
JavaScript
$('.items').html(response).fadeIn();
Hide using CSS and then fade it in when required :
css :
JavaScript
$('.items').html(response).fadeIn();
这是一个更干净的解决方案,因为它避免了首先添加元素,然后快速将其不透明度设置为 0 的闪烁效果。
这样,添加的 elem 的不透明度就已经为 0。
This is a cleaner solution since it avoids a flashing effect of the element being added first, then quickly having its opacity set to 0.
This way the elem is added already having an opacity of 0.
如果您想在现有内容和新内容之间实现平滑过渡,请尝试以下操作:
If you want to show a smooth transtion between existing content and new, try the following: