簡體   English   中英

JQuery slideToggle顯示類型

[英]JQuery slideToggle display type

我正在使用jQuery slideToggle來顯示隱藏的表格行,但它將顯示樣式設置為阻止,我需要顯示表格行。 任何想法我怎么能做到這一點?

提前致謝

我找到了解決這個問題的方法 - 檢查顯示是否已設置為阻止(如果元素已被切換顯示),如果設置為所需的顯示類型。

$('a.btn').on('click', function() {
    $('div.myDiv').slideToggle(200, function() {
        if ($(this).css('display') == 'block') $(this).css('display', 'table-row'); // enter desired display type
    });
});

inorganik的解決方案幾乎正常。 但是您還需要設置step回調以將block更改為table-row

        $('row-selector-here').slideToggle({
            duration: 'fast',
            step: function() {
                if ($(this).css('display') == 'block') {
                    $(this).css('display', 'table-row');
                }
            },
            complete: function() {
                if ($(this).css('display') == 'block') {
                    $(this).css('display', 'table-row');
                }
            }
        });

您可以使用回調來更改此設置

$('#tableRowId').slideToggle( function(){
   $(this).css('display', 'table-row');
});

這是一個已知的錯誤 (也在這里 )。 用jQuery slideToggle 沒有任何方法可以使用slideToggle並正確保留顯示樣式。 您可以在動畫完成時使用回調應用顯示樣式,但這可能無法達到您想要的效果。

只需將此代碼添加到回調函數即可

$(this).css('display','');

只需將其默認為css即可

.block { display: table }

然后在加載頁面時,您可以將其向上滑動

$(document).ready(function () {
    $('.btn').click(function(){
         $('.block').slideToggle();
    })
    $('.block').slideUp();
});

下次它向下滑動它將顯示:table。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM