Задать вопрос
@fantazerno

Как решить проблему с slideToggle()?

Обычный slideToggle() на скрытый элемент у которого есть спозиционированный блок-уголок.

Проблема в том, что уголок появляется только после полного раскрытия блока = с задержкой.
Подскажите как можно обойти данный момент.

Пример кода:
https://codepen.io/fantazer/pen/mwzeWe
  • Вопрос задан
  • 351 просмотр
Подписаться 2 Оценить Комментировать
Решения вопроса 2
@Ridz
<style>
.block {
  margin: 50px;
  height: 100px;
  width: 100px;
  background: #008000;
  position: relative;
  display: none;
}
.block::after  {
 content: '';
    position: absolute;
    left: 30px; top: -40px;
    border: 20px solid transparent;
    border-bottom: 20px solid green;
}
.toggle {
  padding: 20px;
  border: 1px solid #808080;
  display: inline-block;
  margin-left: 50px;
}
</style>
<div class="toggle">click me!</div>
<div class="block"></div>
<script src='https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js'></script>
<script>$('.toggle').click(function(){
  $('.block').slideToggle().css("overflow","visible");
})
</script>
Ответ написан
Комментировать
EaGames
@EaGames
Front-end developer
Сделать "уголок" через <span>, <i> или что-то ещё, главное не через :before :after
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы