Jquery toggle (), свойство display

0

http://jsfiddle.net/nP9SP/5/

У меня есть мой код в скрипке выше, после переключения, я пытаюсь увидеть свойство display и удалить класс css, но он всегда показывает "block" с моим предупреждением, но в конечном итоге класс css изменяется на "none", почему отставание здесь? Есть идеи?

alert($('div#main').css('display'));

  • 0
    В вашей скрипке вы найдете <p> elements $( "p" ).toggle( ); но затем вы запрашиваете свойство display содержащего <div> которое вы не меняете.
  • 0
    обновил мой div.
Показать ещё 2 комментария
Теги:
slidetoggle

3 ответа

1

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

<body>
<button>Toggle 'em</button>
    <div id="main">
<p>Hiya</p>
<p>Such interesting text, eh?</p>
    </div>
    <span class="arr hid">0</span>
<script>
$( "button" ).live('click',function() {
$( "div#main" ).slideToggle( 'medium', function() {
    if ($('div#main').is(':visible'))
        {

            alert($('div#main').css('display'));
             $('span.arr').addClass("hid");
    }
    else{
           alert($('div#main').css('display')+" hello");
             $('span.arr').removeClass("hid"); 
        }
    });

});

0

Поскольку это свойство не устанавливает свойство display none для этого div вам нужно использовать .toggle() для div:

$('div#main').toggle(); // toggle the div instead
alert($('div#main').css('display')); // its none now
0

Вам нужно проверить display значение ваших p элементов, так как это то, что вы используете toggle():

alert($('p').css('display'));

См. DEMO.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню