2011-03-05 5 views
7

마우스를 올리면 회전이 멈추며 자동으로 회전하는 콘텐츠 슬라이더가 있습니다.숨겨진 자식 요소에서 Mootools Mouseenter가 실행되지 않도록하기

$$('.holder').addEvents({ 
    mouseover: function(){ 
     clearInterval(rollingon); 
    }, 
    mouseout: begin 
}); 

HTML :

<div id="fliptable"> 
    <div class="holder"> 
    <ul class="headliner" style="left: 0;"> 
     <li class="headitem"> 
      <div class="squared" style="opacity: 1;"> 
          *content* 
      </div> 
     </li> 
    </ul> 
    </div> 
</div> 

Fliptable 브라우저의 전체 폭을 확장 내 문제는 여기에 코드의 비트입니다. 따라서 서로 다른 목록 요소에는 불투명도가 변경됩니다. 이제 내 문제는 숨겨진 목록 요소 위로 마우스를 가져 가면 마우스 오버가 실행됩니다. 어쨌든 나는 아이들에게 불을 지필 수 없을까? 당신은 당신이 가지고이

window.onmouseover=function(e){ 
if(e.target.className!="hiddenelements"){ 
what you want 
} 

같은 것을 짝수에 반응하고 싶지 해달라고 http://jsfiddle.net/AjWuL/

+2

귀하의 답변은 제목에 있습니다. 'mouseenter' +'mouseleave'가 아닌'mouseover' +'mouseout' - 요소가 이벤트 홀더의 자식 인 경우 오류가 발생하여 mouseout으로 버블 링하는 것을 방지하는 조정 된 이벤트입니다. 이미 시도한 적이 있다면 www.jsfiddle.net을 사용하여 예제를 만들고 원하는 행동을 설명하면 도움을 얻을 수 있습니다. –

+0

Oh whoops 코드를 다시 잊어 버렸습니다. 마우스 오버를 시도했지만 마우스 센터를 처음 사용했습니다. 여기 jsfiddle http://jsfiddle.net/AjWuL/ –

+0

내가 술을 약간 마셨을 수도 있지만 이것은 의도 한대로 작동합니다. 슬라이더는 마우스 센터에서 멈추고 주머니의 자식 내에서 마우스를 움직이는 동안 오류없이 다시 시작됩니다. 다양한 발전과주기의 일시 중지에 추가되는 이벤트가 추가 된 클래스의 향상된 버전이 있습니다. http://jsfiddle.net/dimitar/AjWuL/2/ - 제 최선의 코드는 아니지만 개선이 필요합니다. 주의 사항 부모 노드에 이벤트를 this.parent로 추가하고 노드를 스크롤하지 마십시오 (단수 vs nnn 이벤트) –

답변

1

네, 방금 목록 요소에 다른 클래스를 추가 할 수 있습니다 : 여기

은 JS 바이올린입니다 이것을 당신의 코드에 적용하면 jsfiddle에 클래스에 이것을 넣는 방법을 모른다.

관련 문제