2011-12-05 3 views
2

여기 내 문제가있는 jsfiddle입니다 : http://jsfiddle.net/sbBxu/ - "Hover me"요소를 가리키면 .result가 목록에서 숨겨집니다. 사용자가 "click me"요소 중 하나를 클릭하면 결과는 변경되지만 사용자는이를 볼 수 없습니다.어떻게 일시적으로 제거합니까? 요소에서 마우스를 가져 왔습니까?

나는 사용자에게 .hidden에 의해 숨겨진 결과를 보도록하고 싶습니다. 하지만 JQuery가 "숨기기"만하면 "표시"속성이 "없음"으로 설정되어 show-on-hover 동작을 중단합니다.

기본적으로 나는 클릭시 나타나는 팝업 숨기기를 제외하고는 피들과 동일한 것을 원합니다.

답변

1

난 그냥 CSS에서 :hover을 제거하고 목록 표시/숨기기 위해 jQuery를 사용하십시오 : 나는 위치를 필요로 할

http://jsfiddle.net/sbBxu/4/

$('.hoverd').mouseenter(function() { 
    $('.hidden', this).show(); 
}); 

$('.hidden li').click(function() { 
    $('.result').text('I am a result'); 
    $(this).closest('.hidden').hide(); 
}); 
+0

분명히 JS를 사용할 수없는 사용자에게는 작동하지 않을 것이다. – Fluffy

+0

@Fluffy 물론 "Click me"는 어떨까? 이것은 js가없는 사용자에게도 적용되지 않습니다. – Yoshi

+0

맞아, 기본 콘텐츠가 JS (또는 플래시 또는 다른 플러그인)없이 변경 될 수있는 방법이 없다고 생각합니다. – Fluffy

2

.hoverd:hover .hidden 클래스에서 position: absolute을 삭제 해보세요.

Example fiddle

+0

를 - 팝업이어야합니다 '.result '와 같은 모든 것 위에 있습니다. – Fluffy

+0

그 이상한 UI가 있습니다. 요소에 표시되어야하는 값이 포함되어 있지만 다른 요소로 덮여 있다면? –

+0

글쎄, 나는 상상할 수있다, CSS 팝업은 오히려 일반적이다. 네비게이션을 보지 못했습니까? – Fluffy

관련 문제