使用jQuery向上/向下滑动

时间:2011-11-15 12:17:39

标签: javascript jquery

我需要向上/向下滑动或只显示和隐藏div但它不起作用。我的代码:

<div class="facilities">
            <div id="facheader">
                <div class="facheadname">
                    Facilities
                </div>
                <div class="facheaderbutton">
                    &#9651;
                </div>
            </div>
            <div id="factable">
                <table border="0">
                         <tr><div class="factableheader">
                         <th>Name</th><th>City</th><th>Country</th><th>Compliance Certification</th><th>Audit History</th><th>Date</th><th>Remediation History</th><th>Date</th></div>
                         </tr>
                         <tr>
                         <td>Kowloon</td><td>Hong Kong</td><td>Hong Kong</td><td>cGMP-FDA</td><td>Compliant cGMP-SeerPharma</td><td>12/12/10</td><td>Clean room staff training – IRB-C</td><td>01/03/05</td>
                         </tr>
                 </table>
            </div>
        </div>

我尝试了代码 - 它隐藏了内容,但在再次按下时却没有显示:

$('#facheader').click(function(){
            if ($('#factable').is(':hidden')){
                $('#factable').show();}
            else{
                $('.contclickedinfo').hide();
            }
            return false;
        });



        $('#factable').click(function(e) {
            e.stopPropagation();
        });
        $(document).click(function() {
            $('#factable').hide();
        });

我也尝试了这些,但他们根本没有工作:

$(document).ready(function(){
    $('#facheader').click(function(){
        $('#factable').slideUp(), function(){
        $('#factable').slideDown();
    });
});

$('#facheader').toggle(function(){ 

        $('#factable').slideUp(800);  // Text slides up 
        }, function(){ 

        $('#factable').slideDown(800); // Text slides down
    }); 

3 个答案:

答案 0 :(得分:0)

$('#facheader').click(function() { 
    if ($('#factable').is(':visible'))
        $('#factable').slideUp(800);  // Text slides up 
    else
        $('#factable').slideDown(800); // Text slides down
}); 

答案 1 :(得分:0)

$('#facheader').click(function() {
    if ($('#factable').is(':visible')){
        $('#factable').hide();
    } else {
        $('#factable').show();
    }

    return false;
});

这应该按照你想要的方式工作。我改变了你想要隐藏的元素,因为你选择了一个不同的元素。此外,:visible选择器的效果优于:hidden。我不确定为什么:hidden并不总是像我们期望的那样工作。

答案 2 :(得分:0)

短切换功能

$("#facheader").click(function(){
    $("#factable").slideToggle(); /* between () you can define speed in MS */
});

因为它不是触发幻灯片的链接,所以您不需要返回false或stopPropagation。

奇怪的是:

<tr><div class="factableheader">

当浏览器看到这个时,他们会把你放在桌子外面。

您是否使用具有相同ID的多个DIV?