2011-03-14 3 views
0
$(function() { 
    $('.quickNav').live('tap',function(event) { 
     if ($(".select_body").is(":hidden")) 
     { 
       $(".select_body").show(); 
     } 
     else 
     { 
      $(".select_body").hide(); 
     }   
    }); 
}); 

한 번만 표시되고 다시 탭하면 사라지지 않는 경우를 제외하고는 정상적으로 작동합니다.jquery 모바일 탭 이벤트

생각하십니까?

답변

15
$('.quickNav').live('tap',function(event) { 
    $(".select_body").toggle(); // toggles the visibility/display of the element. 
}); 

/다른 스크립트

이의 jQuery API 문서에 toggle method documentation를 참조하면이 긴 같은 않습니다.

+3

@ user550495 도움이 필요하십니까? 이게 너에게 효과가 있니? – adardesign

0

요소가 숨겨지면 높이와 너비가 0입니다. 즉, 동일한 장소를 탭하면 실제로 두 번째로 요소를 누르지 않습니다.

불투명도를 0으로 설정하는 것이 좋습니다.

$(function() { 
    $('.quickNav').live('tap',function(event) { 
     if ($(".select_body").is(":hidden")) 
     { 
      $(".select_body").css("opacity", 1); 
     } 
     else 
     { 
      $(".select_body").css("opacity", 0); 
     }   
    }); 
}); 

과 같은 동작의 짧은 버전 : 다음은 무엇을 할 수 있는지의 종류의

$(function() { 
    $('.quickNav').live('tap',function(event) { 
     $(".select_body").css("opacity", 1 - parseInt($(".select_body").css("opacity"))); 
    }); 
}); 

실제로이 코드를 테스트 havent 한, 그래서 실행하면 내가 알지도 못하는 !

참고 : fadeOut()은 애니메이션 끝 부분에서 hide()를 사용하므로 여기서는별로 도움이되지 않습니다.