1)
스크롤바..의 움직임을 감지해야할 일이 있어서 만들어봤습니다.

...

2)

<DIV id=D120404_1>no event..</DIV>
<DIV style="BACKGROUND-COLOR: yellow; WIDTH: 100px; HEIGHT: 100px; OVERFLOW: auto"
onscroll="document.getElementById('D120404_1').innerHTML='scrolling';"
onmousemove="if(this['sv']){document.getElementById('D120404_1').innerHTML='scrolled';this['sv']=0;}"
onmousedown="this['sv']=1;">
    <DIV style="WIDTH: 200px; HEIGHT: 80px; OVERFLOW: hidden"></DIV>
</DIV>


...



no event..



...

3)
스크롤바를 눌러, 드래그하고 있는 동안에는 scrolling,
스크롤이 끝난 시점이라고 판단되면 scrolled 라고 표시하도록 한거죠.

.. 문제가 될만한 부분은..

4)
onmouseup 이 화면 밖에서 실행될 때를 잡아내지 못한다..랄까요..
딱히 방법이 생각나는 것도 아니구요..

.. IE8 와 Chrome, Safari 에서의 테스트는 이정도까지여서 괜찮았는데,

5)
FireFox 에서 테스트해보면..
스크롤바 drag 를 이용한 스크롤에서는 scrolled 표시가 나지 않는군요.

클릭을 이용한 scroll 역시,
스크롤 종료 후 마우스가 움직여야 scrolled 표시가 나구요.

6)
Opera 에서 테스트 해보면,
스크롤 종료 후 마우스가 움직일 때 scrolled 표시를 해주네요.

.. 일단, onscroll 까지는 무난(?)히 받아낸다는 결론은 냈으니 다행입니다.
.. 단지(?),

7)
스크롤바를 클릭하지 않고, 내부를 클릭한 경우에도 (노란색..)
scrolled 라고 표시하는 애매한(?) 상황을 만든게 좀 슬프네요.

..라고 적고, 테스트 해보니,

8)
Chrome 과 Safari, FireFox 에서는 
내용물쪽에서 시작한 DragScroll 을 지원하는군요..

.. 물론(?), Drag 상황이라고 브라우져가 판단해서 그런건지(확인 못해본 내용)까지는 잘 모르겠지만,
scrolled 로의 표시는 안됐습니다.

IE8 , Opera 에서는
내용물쪽 DragScroll 작동 안되던데 OTL..

easyBow killofki@.

Posted by killofki
,