Jquery toggle(),显示属性

时间:2014-05-12 22:19:38

标签: jquery slidetoggle

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

我在上面的小提琴中有我的代码,在切换之后,我正在尝试查看display属性并删除一个css类,但它始终显示带有警报的'block',但最终css类更改为'none '为什么滞后在这里?任何想法?

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

3 个答案:

答案 0 :(得分: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"); 
        }
    });

});

答案 1 :(得分:0)

由于没有为displaynone属性设置为div,您必须在.toggle()上使用div方法:

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

答案 2 :(得分:0)

您需要检查display元素的p值,因为您正在使用的是toggle()

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

请参阅DEMO