2011-11-27 3 views
1

this 코드를 확인하십시오.사용자 정의 툴팁 두 번째 클릭시 절대 포지션 스팬 제거

<li>one <a href="#" class="opt">delete</a> 
     <div class="popup"> 
      <span class="tip"></span><a href="#" class="btn">deletebutton</a></div> 
    </li> 

코드/숨기기 사라집니다 span.tip하게 div.popup

$('.opt').live('click', function(e) { 
    e.preventDefault(); 
    $(".popup").slideUp(); 
    $(this).closest("li").find(".popup").stop(true, false).slideToggle(); 
}); 

클릭에서이 열린 div.popupdiv.popup하지만 두 번째 클릭을 열 삭제 표시하는 데 사용. 페이지를 새로 고침하지 않으면 더 이상 나타나지 않습니다.

$(".popup").slideUp(); 

이 코드로 인해 문제가 발견되었습니다. 이 코드를 사용하여 삭제 앵커를 클릭 할 때 다른 모든 것을 숨긴다. .popup. jQuery를 처음 사용합니다. 아무도 클릭하여 div.popup 형제를 숨길 수있는 대체 방법을 제안 할 수 있습니까?

감사합니다 ..

+0

나는 좋은 예제라고 생각했다. 나는 같은 것을 복사 할 것이다. –

+0

나는이 문제를 볼 수있다. 그러나 나는 왜 그런 일이 일어나고 있는지 모른다. 첫 번째 클릭시 애니메이션은 항상 팝업 요소의 속성에서 발생하며 Firebug의 '스타일'속성으로 반영됩니다. 그런 다음 애니메이션이 끝날 때 지워집니다. 두 번째로 클릭 할 때도 똑같은 일이 발생하지만 지워지지는 않으며 남은 스타일은 팁이 위치하는 방식을 방해합니다. 나는 고치지 않았지만 아마도 누군가를 도울 것입니다. –

+0

정보를 주셔서 감사합니다. Greg –

답변

1

문제는 slideToggle jQuery를 팝업 요소를 변화 동안 가지고 있다는 것입니다 "오버 플로우 엑스 : 숨겨진"따라서 범위를 벗어나는 tip 요소는 숨겨진 상태로 유지됩니다. 팝업 div 안에 tip 요소가 포함되도록 jsfiddle를 업데이트했습니다. 애니메이션은 조금 다르게 보입니다.하지만 조금 익숙해 진 것처럼 보이게 할 수 있습니다. http://jsfiddle.net/6vKct/5/ 내가 "20 픽셀"에서에 "15 픽셀"

  • 팁 DIV 위로 "에서
    • 팝업 DIV 탑을 변경

      (나는 더 표시되도록 파란색 배경을 가지고 팁을 변경) -5px 0 픽셀 "에"5px "

    • 전체 팝업 사업부에서 배경 색상 스타일을 이동"
    • 는에
    • 상단을 설정하여 BTN 요소를 아래로 이동 배치 된 BTN 요소 상대했다 "단지 t 그는 btn

    사실 나는 팝업 div를 더 크게 만들었고 위로 옮기고 그 안에 팁을 옮겼습니다.

  • +0

    이것은 그것을 졸졸하게합니다. 당신이 한 일을 설명해 주시겠습니까? –

    +0

    물론 업데이트를 확인하십시오. – Godwin

    +0

    굉장합니다. 고마워. 이제 실제 코드에 대한 수정을 시도하고 알려 드리겠습니다. –

    0

    추가 정지 상태 (true, true)를

    http://jsfiddle.net/6vKct/2/

    +0

    아아,이 문제는 해결되지 않습니다. .tip은 삭제 팝업을 다시 표시 할 때 다시 나타나지 않습니다. –

    +0

    여전히 동일합니다. 같은 링크에서 첫 번째로 두 번째 클릭 후 팝업이 숨기고 다시 열면 .tip이 표시되지 않습니다. –

    +0

    어떤 브라우저를 사용하고 있습니까? 그것은 나를 위해 잘 작동하는 이음새/ –

    관련 문제