如何在jQuery上使用slideToggle应用平滑的显示/隐藏效果

时间:2014-12-16 10:48:59

标签: javascript jquery html slidetoggle

我正在尝试使用slideToggle显示隐藏内容并且它很复杂,但我没有在我的桌面上获得平滑的动画效果。

我已尝试使用这两个代码但现在获得了正确的动画效果:

  1. $('.more').slideToggle('fast');
  2. $('.more').stop().slideToggle(500);
  3. 知道怎么做吗?

    感谢。

    这是我的jQuery代码工作:

    $('#more').click(function () {
        $(this).text('See less');
        if ($('.more').is(':visible')) {
            $(this).text('See more');
        } else {
            $(this).text('See less');
        }
        //$('.more').slideToggle('fast');
        $('.more').stop().slideToggle(500);
        return false;
    });
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
    <a href="#" id="more">More about us</a>
    
    <table>
        <thead>
            <tr>
                <th>Date</th>
                <th>Address</th>
                <th>Rooms</th>
                <th>SQM</th>
                <th>Floor</th>
                <th>Parking</th>
                <th class="price">Price</th>
                <th>PpM</th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <td data-name="Date">5/12/14</td>
                <td data-name="Address">Alenby 50, Tel Aviv</td>
                <td data-name="Rooms">1.5</td>
                <td data-name="SQM">32</td>
                <td data-name="Floor">1</td>
                <td data-name="Parking">1</td>
                <td data-name="Price">1,410,000</td>
                <td data-name="PpM">40,286</td>
            </tr>
            <tr class="active">
                <td data-name="Date">13/05/14</td>
                <td data-name="Address">Alenby 50, Tel Aviv</td>
                <td data-name="Rooms">1.5</td>
                <td data-name="SQM">32</td>
                <td data-name="Floor">2</td>
                <td data-name="Parking">1</td>
                <td data-name="Price">13/05/14</td>
                <td data-name="PpM">44,000</td>
            </tr>
            <tr class="more">
                <td data-name="Date">18/08/14</td>
                <td data-name="Address">Alenby 50, Tel Aviv</td>
                <td data-name="Rooms">1.5</td>
                <td data-name="SQM">32</td>
                <td data-name="Floor">6</td>
                <td data-name="Parking">&nbsp;</td>
                <td data-name="Price">1,600,000</td>
                <td data-name="PpM">45,714</td>
            </tr>
            <tr class="more">
                <td data-name="Date">14/09/14</td>
                <td data-name="Address">Alenby 50, Tel Aviv</td>
                <td data-name="Rooms">1.5</td>
                <td data-name="SQM">32</td>
                <td data-name="Floor">4</td>
                <td data-name="Parking">&nbsp;</td>
                <td data-name="Price">1,375,000</td>
                <td data-name="PpM">39,286</td>
            </tr>
            <tr class="more">
                <td data-name="Date">25/01/14</td>
                <td data-name="Address">Alenby 50, Tel Aviv</td>
                <td data-name="Rooms">1.5</td>
                <td data-name="SQM">32</td>
                <td data-name="Floor">2</td>
                <td data-name="Parking">&nbsp;</td>
                <td data-name="Price">1,680,000</td>
                <td data-name="PpM">28,966</td>
            </tr>
        </tbody>
    </table>

4 个答案:

答案 0 :(得分:1)

只需改变一下:

$('.more').stop().slideToggle(10);// to show effect faster use small value.

&#13;
&#13;
$('#more').click(function () {
    $(this).text('See less');
    if ($('.more').is(':visible')) {
        $(this).text('See more');
    } else {
        $(this).text('See less');
    }
    //$('.more').slideToggle('fast');
    $('.more').stop().slideToggle(10);
    return false;
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a href="#" id="more">More about us</a>

<table>
    <thead>
        <tr>
            <th>Date</th>
            <th>Address</th>
            <th>Rooms</th>
            <th>SQM</th>
            <th>Floor</th>
            <th>Parking</th>
            <th class="price">Price</th>
            <th>PpM</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td data-name="Date">5/12/14</td>
            <td data-name="Address">Alenby 50, Tel Aviv</td>
            <td data-name="Rooms">1.5</td>
            <td data-name="SQM">32</td>
            <td data-name="Floor">1</td>
            <td data-name="Parking">1</td>
            <td data-name="Price">1,410,000</td>
            <td data-name="PpM">40,286</td>
        </tr>
        <tr class="active">
            <td data-name="Date">13/05/14</td>
            <td data-name="Address">Alenby 50, Tel Aviv</td>
            <td data-name="Rooms">1.5</td>
            <td data-name="SQM">32</td>
            <td data-name="Floor">2</td>
            <td data-name="Parking">1</td>
            <td data-name="Price">13/05/14</td>
            <td data-name="PpM">44,000</td>
        </tr>
        <tr class="more">
            <td data-name="Date">18/08/14</td>
            <td data-name="Address">Alenby 50, Tel Aviv</td>
            <td data-name="Rooms">1.5</td>
            <td data-name="SQM">32</td>
            <td data-name="Floor">6</td>
            <td data-name="Parking">&nbsp;</td>
            <td data-name="Price">1,600,000</td>
            <td data-name="PpM">45,714</td>
        </tr>
        <tr class="more">
            <td data-name="Date">14/09/14</td>
            <td data-name="Address">Alenby 50, Tel Aviv</td>
            <td data-name="Rooms">1.5</td>
            <td data-name="SQM">32</td>
            <td data-name="Floor">4</td>
            <td data-name="Parking">&nbsp;</td>
            <td data-name="Price">1,375,000</td>
            <td data-name="PpM">39,286</td>
        </tr>
        <tr class="more">
            <td data-name="Date">25/01/14</td>
            <td data-name="Address">Alenby 50, Tel Aviv</td>
            <td data-name="Rooms">1.5</td>
            <td data-name="SQM">32</td>
            <td data-name="Floor">2</td>
            <td data-name="Parking">&nbsp;</td>
            <td data-name="Price">1,680,000</td>
            <td data-name="PpM">28,966</td>
        </tr>
    </tbody>
</table>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

你能做的最好就是用div制作一张桌子。

答案 2 :(得分:0)

像DevJoeri一样,我建议你使用DIV,但如果你不想或不能。添加以下css规则有助于您的示例

tr {
    float: left;
    width: 100%;
}

答案 3 :(得分:0)

please check this link

您无法将切换动画应用于td,tr标记  它只能应用于div标签