메뉴 건너뛰기

2016.12.22 20:25

bxslider 멈춤현상

조회 수 10115 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
1번과 2번을 같이 처리 지금은 업데이트된 버전이 나온걸로 알고 있음

1. bxslider 는 슬라이드 애니메이션 동작할때 css translate3d 와 jquery animate를 사용한다.

ios webview 에서는 translate3d 를 지원하므로 css 로 애니메이션이 동작을 하는데, 애니메이션이 끝나면 transitionend 이벤트가 실행이 되고 slider.working = false; 가 되면서 애니메이션이 끝난다.

그런데 스크롤을 함과 동시에 이미지를 넘기면 transitionend 가 실행이 안되고 slider.working 은 계속 ture상태로 남게되면서 bxslider는 더이상 동작하지 않는다.

이 문제를 해결하기 위해서 transitionend 가 발생하지 않으면 slider.working = false; 를 실행시키기 위해 소스를 수정해보았다.

jquery.bxslider.js 를 열어서

var setPositionProperty = function(value, type, duration, params){

이 부분을 찾은다음

// set the property value
el.css(slider.animProp, propValue);

css 속성을 세팅하는 부분 아래에다가

// ios에서 스크롤하면서 작동하면 transitionend 이벤트가 안먹혀서 추가함 by starkey
var dummy = setTimeout(function(){
    slider.working = false;
}, duration+1);
// -->

를 추가하고,

정상적으로 transitionend 가 발생했을대 clearTimeout 을 해준다.

el.bind('transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd', function(){
   clearTimeout(dummy); // transitionend 가 동작하면 clearTimeout 해줌
   // unbind the callback
   el.unbind('transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd');
   updateAfterSlideTransition();
});

출처 :

http://starkey1984.blogspot.kr/2016/04/bxslider-ios-freezes.html

2. 주석처리 

var onTouchStart = function(e){
   if(slider.working){

    //e.preventDefault(); //주석하기

...

var onTouchMove = function(e){
   var orig = e.originalEvent;
   // if scrolling on y axis, do not prevent default
   var xMovement = Math.abs(orig.changedTouches[0].pageX - slider.touch.start.x);
   var yMovement = Math.abs(orig.changedTouches[0].pageY - slider.touch.start.y);
   // x axis swipe
   if((xMovement * 3) > yMovement && slider.settings.preventDefaultSwipeX){

    //e.preventDefault(); //주석하기

List of Articles
번호 제목 날짜 조회 수
159 draggable - div 드래그 2021.03.31 273
158 easing - 효과의 진행 속도 file 2021.03.26 156
157 fadeIn() , fadeOut() 을 이용한 간단한 자동 그림 전환 2021.03.26 285
156 focus() 로 오브젝트 옮기기 2021.03.26 171
155 foreach문 2021.03.26 195
154 FORM 객체 초기화 하기 2016.09.21 7346
153 getElementsByClassName 을 IE8 이하에서 동작하게 하는 코드 2018.11.07 1299
152 getJSON() 함수 2016.09.21 8379
151 getScript() 2016.09.21 7125
150 Get방식 파라미터 전송 & 탭 메뉴 선택 2016.09.21 8566
149 Hide pager if bxslider has only 1 slide 2018.11.07 1296
148 hover 메소드를 이용해서 메뉴 on, off를 구현 file 2016.09.21 8476
147 Html 색상표 모음, 색상코드표 (RGB), 이미지X, 복사 가능 file 2016.11.17 8145
146 html 테이블 고정 (table fixed) 2016.11.18 7118
145 iframe height auto resize 2018.11.07 1403
144 input checkbox 모두 체크하기 2021.03.26 176
143 Input TYPE=“File” 을 히든으로 하고 외부 버튼을 눌러서 파일을 선택 2016.09.21 6801
142 javascript, jQuery에서 루프 돌리기 예 (for, forEach, each) 2021.03.25 311
141 jqGrid / custom pager / custom paging / 그리드 / 페이징 file 2016.09.09 12522
140 jQuery - ajax xhr을 활용한 파일 업로드 진행 상태 확인하기 file 2021.03.09 586
Board Pagination Prev 1 2 3 4 5 6 7 8 9 Next
/ 9

하단 정보를 입력할 수 있습니다

© k2s0o1d4e0s2i1g5n. All Rights Reserved