2012-01-05 1 views
1

DOM의 다른 부분에 나타나는 두 개의 개별 요소 설치 - 내가 직면하고있는 문제는 절대적으로 배치되어 있으며 컨테이너 div에 포장 할 수 없다는 것입니다. 과 함께 밖으로 요소를 이동 - 사용자가 두 요소 사이에 마우스를 이동 할 수 있도록하고 이동 한 번만 : http://jsfiddle.net/sA5C7/1/jQuery 두 개의 별도 요소에 가져 오기

내가 뭘하려고 오전입니다 -

내가 여기 JSfiddle 설정을 가지고 둘 다 다시 숨길 수 있을까요?

어떻게 설정하나요? 왜냐하면 순간에 하나의 요소에서 벗어나면 해당 요소에 대한 "이탈 이벤트"가 발생합니다.

+0

바이올린은 더 이상 작동하지 않습니다 – diEcho

+0

단으로 업데이트 - 당신은 당신이 무엇을 의미하는지 저를 보여주기 위해 바이올린을 편집 할 수 있습니다이 링크 http://jsfiddle.net/sA5C7/1/ – Andy

답변

3

각 요소에 대해 각각 두 개의 부울 변수를 사용할 수 있습니다. 요소를 입력하면 true가되고 떠나면 false가됩니다.

두 요소가 모두 false 일 때만 => 요소를 숨 깁니다.

$(document).ready(function(){ 
    var bslider = false; 
    var btest = false; 
    $('#slider').mouseover(function() { 
     bslider = true; 
     $('#slider, #test').stop(true,false).animate(
        {'margin-left':'20px' 
        }); 
    }); 
    $('#test').mouseover(function() { 
     btest = true; 
     $('#slider, #test').stop(true,false).animate(
        {'margin-left':'20px' 
        }); 
    }); 
    $('#slider').mouseout(function() { 
     bslider = false; 
     if(!bslider && !btest) 
     { 
      $('#slider, #test').stop(true,false).animate(
        {'margin-left':'0' 
        }); 
     } 
    }); 
    $('#test').mouseout(function() { 
     btest = false; 
     if(!bslider && !btest) 
     { 
      $('#slider, #test').stop(true,false).animate(
        {'margin-left':'0' 
        }); 
     } 
    }); 
}); 
+0

를 시도? 덕분에 – Andy

+0

이런 식으로 http://jsfiddle.net/vUxeL/하지만 그 순간에 정말로 작동하는지 테스트 할 수 없기 때문에 jsfiddle이 나를 괴롭히는 것 같습니다. – bardiir

+0

아, 애니메이션이 너무 거칠고 마우스를 움직이면 플러스 요소가 왼쪽에 숨겨져 있습니다. 애니메이션을 약간 변경하여 작동 원리를 보여줍니다. http://jsfiddle.net/vUxeL/1/ – bardiir