2012-01-28 1 views
2

내 페이지에 사이드 바가 있습니다. 사용자가 브라우저 크기를 조정하면 항목이 잘리지 않는 경우에만 표시됩니다 (창 아래쪽에 있음). jsFiddle에서 볼 수있는 것처럼 작동합니다. 테스트하려면내 사이드 ​​바에서 jQuery로 항목의 숨기기를 자극하십시오.

http://jsfiddle.net/MJ9VC/23/

: 브라우저의 크기를 조정 (창 높이가 작게). 숨어있는 아이템이 보일 것입니다. 브라우저의 크기를 조정하십시오 (창 높이를 더 크게 만드십시오). 일부 항목을 보여줄 것입니다.

문제 : 나는 보여 에 (부드럽게 보여주는 항목)을 보여 주었다하지 에서 애니메이션을하고 성공할하지만을 보여 주었다하지 을 보였다 에서 애니메이션을 수행하지 못했습니다.

내가 확실한 지 모르겠습니까?

+0

그것은 나에게 보인다 요소 (this)가 보이지 않을 때만 애니메이션을 실행합니다. "if (that.css ('visibility')! = 'visible') ...". –

+0

@ron 알고 있지만 해결책을 찾지 못했습니다. 아이디어가 있다면 jsFiddle을 조정하려고 할 수 있습니다 ... 감사합니다. – Bronzato

답변

0

여기에 귀하의 솔루션입니다 :

if (y <= itemBottom) { 
    if(!that.hasClass('hidden') && !that.is(':animated')){ 
     that.removeClass('visible').addClass('hidden','slow'); 
    } 
} 
else{ 
    if(that.hasClass('hidden') && !that.is(':animated')){ 
     that.addClass('visible','slow').removeClass('hidden'); 
    } 
} 

/숨겨진 가시의 추가/제거의 순서는 중요합니다. 당신은 또한에/페이드 아웃 것 동안 덤비는 싶지 않아, 당신은 또한 JQuery와 UI 당신이 클래스의 추가 애니메이션을 할 수 있도록해야합니다

데모 : http://jsfiddle.net/AlienWebguy/jrvsB/

+0

Waouw 아주 멋진 솔루션! 고마워요 :) – Bronzato

+0

도와 줘서 고마워 :) – AlienWebguy

0

나는 문제가 즉시 당신이 상관없이 설정하는 혼탁, 사라 위하여려고하고있다처럼

that.css('visibility','hidden'); 

숨겨진

에 가시성을 설정에서 온다 믿습니다.

전체 가시성 속성을 건너 뛰고 불투명도를 사용할 수 있습니까? 브라우저가 작은에 도달 그래서 때 수행

that.animate({ 'opacity': 0 }); 
+0

그 css ('visibility', 'hidden'); 문제 야. 나는 이미 많은 성공을 거두었 다. 당신은 해결책을 생각한다면 내 jsFiddle을 조정하려고 할 수 있습니다 ... 어쨌든 고마워요. – Bronzato

+0

선택적으로,'animate'의 콜백 함수에서 visibility를 hidden으로 설정하십시오. 이렇게하면 애니메이션이 완료된 후에 만 ​​숨겨집니다. http://api.jquery.com/animate/ – xbonez

+0

Mmmm이 다시 테스트되었으며 불행히도 작동하지 않습니다. 나는 CSS로 빨아. – Bronzato

관련 문제