2012-03-02 5 views
0

jqgrid는 페이드 인, 페이드 아웃을 지원합니까? 그리드 표시 및 다시로드 할 때 페이드 아웃으로 만들려는 사람이 있습니까? 당신이 내용 또는 전체 그리드의 숨길 필요가Jqgrid fade In fade out?

답변

0

은? loadComplete

거기에 당신이 onBeforeRequest에 페이드 아웃을 설정할 수 있습니다이 효과 을 만들 JQuery와 효과 기능을 사용할 수 있습니다/아웃있는 jqGrid뿐만에는 페이드 없으며, fadeIn
onBeforeRequest : function(){ 
    // is used for the whole grid 
    $(this).closest('#gbox_'+this.id).fadeOut('slow'); 

    /*--------- OR ----------*/ 

    //will fade out only the table inside 
    $(this).fadeOut('slow'); 
}, 

loadComplete : function(){ 



    $(this).closest('#gbox_'+this.id).fadeIn('slow'); 

    /*--------- OR ----------*/ 

    $(this).fadeIn('slow'); 

} 
+0

정말 고마워, 내가 시도하고 결과를 여기에 업데이 트를 줄 것이다 – Victor

0

시각 효과를 얻으려면 Liviu의 대답이 좋습니다. 데이터를로드하는 동안 그리드와의 사용자 상호 작용을 차단하려는 경우 BlockUI 플러그인을 사용하여 그리드에서 수행하고자하는 작업을 수행합니다. http://jquery.malsup.com/block/#element

제 패턴은 아약스 호출 전에 그리드를 차단 한 다음 차단을 해제하는 것입니다. 그것은 아약스 호출의 성공 방법에.

0

그리드가로드 중임을 사용자에게 알리고 싶다면 ... (나는 이것이 당신이 찾고있는 핵심에있을 것이라고 완전히 가정합니다.) ... ... fadeIn의 대안으로/fadeOut ...

"그리드로드 중"메시지가 그리드가로드 중임을 사용자에게 알리는 가장 좋은 방법은 아닙니다. 예를 들어 모눈에 행이 여러 개있는 경우 메시지가보기 영역에 표시되지 않고 사용자가 그리드의 이전 데이터를보고있을 때로드 중일 수 있습니다. 특히 서버가 아약스를 처리하는 경우 천천히 또는 쿼리가 어떤 이유로 든 느립니다. "지금 것이다

.gridLoadingClass {color:lightgray;} 

그리드의 내용을 :

beforeRequest: function(){ 
    $('#grid tr').addClass('gridLoadingClass'); 
    $('#grid span').css('color','lightgray'); 
    $('#grid a').css('color','lightgray'); 
}, 

을 그리고 당신의 CSS에서이 어딘가에 같은 클래스를 추가 :

이있는 jqGrid 설치에이 이벤트를 추가 : 여기에 내가 조금 뭔가 회색으로 표시됩니다.