2016-12-22 1 views
3

Мне нужно, чтобы показать/скрыть вверх и вниз DIV, но:«показать/скрыть» а ДИВ с JavaScript не JQuery, а не с дисплеем: нет

  • Это не может быть с JQuery: потому что , togle(), slideTogle(), fade, animate и т. д., все они используют display: none, и мне нужен div, используя это пространство в DOM (я буду разбираться там).

Til now, я только сделал, что divs получают видимость стиля: скрыты и блокируются, щелкнув какую-нибудь кнопку «Toggle», она работает нормально, но я не знаю, как добавить какой-то эффект на дисплей, например togle («slow»).

Мой CSS:

.show, .show * { 
    visibility: inherit !important; 
} 

.hide, .hide * { 
    visibility: hidden !important; 
} 

Моя React/ЯШ:

toggleCharts:function(){ 
    //$("#chartBox").toggle(); 
    if (this.state.className === 'hide') 
     this.setState({className: 'show'}); 
    else 
     this.setState({className: 'hide'}); 
} 

Div скрыть:

<div id="chartBox" className={this.state.className}></div> 

ответ

2

Держите React/JQ как есть, но шоу и скрыть ваши элементы с помощью CSS-переходов, например, затухание с непрозрачностью:

.show { 
    opacity: 1 !important; 
    transition: opacity .5s; 
} 

.hide { 
    opacity: 0 !important; 
    transition: opacity .5s; 
} 
+0

Я wastrying что-то вроде этого, давайте посмотрим. – pmirnd

+0

Работает на 99% отлично, за исключением одной причины, один из дочерних элементов div теперь окрашен в черный цвет, но мне нужно будет проверить, почему. Позвольте мне попробовать и другой ответ (но, как я уже сказал, я не хочу использовать jquery ...) – pmirnd

+0

@pmirnd Возможно ли, что ребенок изначально был полупрозрачным с непрозрачностью? На самом деле вам не нужны правила ', .show *' и ', .hide *', потому что достаточно скрывать/показывать родительский элемент - это может исправить. Я обновил свой ответ. –

1

попробовать: $('#chartBox').animate({opacity : 0}, 500);

+0

Ну, я сказал, что это не может быть jQuery, но спасибо (не работал) – pmirnd

+0

да, но ваша проблема была с 'display: none', в этом случае свойство display не тронут, изменяется только непрозрачность – Taki

Смежные вопросы