jquery 在执行 .hide() 和 .fadeIn() 方法之前闪烁 Div 元素

发布于 2024-12-29 00:11:25 字数 182 浏览 1 评论 0原文

这是我的代码:

$('.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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

妥活 2025-01-05 00:11:25

如果您想保持元素的尺寸不变,您可以使用不透明度:

$('.items').html(response).css({'opacity':0}).animate({'opacity':1});

You could using the opacity instead if you want to keep the dimensions of the element intact:

$('.items').html(response).css({'opacity':0}).animate({'opacity':1});
虚拟世界 2025-01-05 00:11:25

使用 CSS 隐藏,然后在需要时淡入:

css :

.items {
   display:none;
}

JavaScript

$('.items').html(response).fadeIn();

Hide using CSS and then fade it in when required :

css :

.items {
   display:none;
}

JavaScript

$('.items').html(response).fadeIn();

夜雨飘雪 2025-01-05 00:11:25

这是一个更干净的解决方案,因为它避免了首先添加元素,然后快速将其不透明度设置为 0 的闪烁效果。

这样,添加的 elem 的不透明度就已经为 0。

var elem = $(response).css({'opacity': 0});
$('.items').html(elem);
elem.animate({'opacity': 1});

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.

var elem = $(response).css({'opacity': 0});
$('.items').html(elem);
elem.animate({'opacity': 1});
总攻大人 2025-01-05 00:11:25

如果您想在现有内容和新内容之间实现平滑过渡,请尝试以下操作:

$(function(){
    $('.items').fadeOut(function(){
      $(this).html(response).fadeIn();   
    })
});

If you want to show a smooth transtion between existing content and new, try the following:

$(function(){
    $('.items').fadeOut(function(){
      $(this).html(response).fadeIn();   
    })
});
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文