2009-12-10 55 views
0

我差不多要結束了已隱藏的對象和排序表..替代JQuery隱藏顯示?或JQuery更新?

$(".ICS_BlueTable").tablesorter(); 

$(".ICS_BlueTable").bind("sortStart",function() { 
    $('.ICS_Artist_Hide',this).toggle();       
    $('tr',this).removeClass("ICS_Artist_Hide");     
}).bind("sortEnd",function() { 
    $("tr:gt(4)", this).addClass("ICS_Artist_Hide");    
    $('.ICS_Artist_Hide',this).toggle();           
}); 

這樣做的問題是,有一個明顯的「甩尾」,當排序完成後,你可以看到的內容顯示和隱藏。有沒有辦法重新計算隱藏的項目,然後「刷新」當前表格,以便只顯示需要的表格而不用「輕彈」。

回答

0

您可以隱藏整個表格,然後再次顯示錶格。您可以通過淡入頂部的div來完成此操作,然後在排序完成後再將其淡出。這個過程完成後,需要在調用表分類器之前再次調用。

0

如果你根本不想讓它隱藏,那麼請刪除隱藏命令...我假設你並沒有這樣做,你正在尋找一個「中間地帶」。

一個簡單的答案,仍然會使它消失/重現將是把表格放在一個div中,並簡單地將排序事件中該div的高度設置爲當時的高度(EG:$(this).parent().height($(this).parent().height());),然後一旦完成排序,讓它回到正常的高度設置(EG:$(this).parent().height('auto');。這將防止其他頁面內容在隱藏表格行時上下移動,這通常是發生閃爍的最明顯部分。您也可以考慮在該div上設置一個CSS類,這會導致某種排序圖像/動畫出現,以使用戶確信他們的表正在返回。