iScroll 5에서 아이스크롤 안에 아이스크롤 넣기
- created
- category
- worklog
iscroll4에 있던 onBeforeScrollStart
가 iScroll 5에서 동작은 하지만 인자가 없음.
한페이지에 둘다 넣으면 style.overflow.hidden였나? 오류 남.
자식 iscroll의 beforeScrollStart와 scrollEnd에서 부모 iscroll객체 enabled를 토글
삽질 중 크게 도움이 된 문구 from dcinside 프로그래밍 갤러리 (라고만 써놓고 출처 링크를 기록해놓지 않았다ㅠ)
아무튼 그래서 해봤더니 매우 잘 됨
<div class="test">
<div class="scroll1" style="max-height: 500px; overflow: hidden">
<ul>
<% for (var i = 0; i < 100; i++) { %>
<li>
<a href="#" onclick="alert('scroll1'); return;">scroll1</a>
<% if (i === 10) { %>
<div class="scroll2" style="max-height: 200px; overflow: hidden;">
<ul>
<% for (var j = 0; j < 100; j++) { %>
<li style="color: #06c">
<a href="#" onclick="alert('scroll2'); return false;">scroll2</a>
</li>
<% }%>
</ul>
</div>
<% } %>
</li>
<% } %>
</ul>
</div>
</div>
var iscrollOpts = {
scrollX: false,
mouseWheel: true,
scrollbars: false,
click: true
};
var scroll1 = new IScroll('.test .scroll1', iscrollOpts);
var scroll2 = new IScroll('.test .scroll2', iscrollOpts);
scroll2.on('beforeScrollStart', function(e) {
scroll1.disable();;
});
scroll2.on('scrollEnd', function(e) {
scroll1.enable();
});