是否有可能jQuery slideDown()函数应用display:flex属性而不是display:block?

前端之家收集整理的这篇文章主要介绍了是否有可能jQuery slideDown()函数应用display:flex属性而不是display:block?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有这个:
function searchOpen() {
    $('.nav__item__account').addClass('nav__item__account--open');
    $('.nav__item__account-dropdown').slideDown(250);
    $('.nav__item__account-dropdown').addClass('nav__item__account-dropdown--open');
    $('.nav__item__account-dropdown input').focus();
}

function searchClose() {
    $('.nav__item__account').removeClass('nav__item__account--open');
    $('.nav__item__account-dropdown').slideUp(250); 
}

function searchDropdown() {
    if ($('.nav__item__account-dropdown').is(":visible")) {
        searchClose();
    } else {
        searchOpen();
    }
}

nav__item__account-dropdown的CSS – open是:

.nav__item__account-dropdown--open {
    display: flex !important;
    justify-content: center;
}

虽然这种解决方法有效,但在滑动完成之前会删除display:flex,这会导致一些不需要的视觉效果.

有没有办法让slideUp()和slideDown()应用display:flex而不是display:block?

解决方法

请尝试以下开始回调:
$(".item").slideDown({
  start: function () {
    $(this).css({
      display: "flex"
    })
  }
});

猜你在找的jQuery相关文章