Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* ------------- Drag for Mouse and Mobile devices ------------- */
- var useMobileDrag = false;
- var isiPad = navigator.userAgent.match(/iPad/i) != null;
- var isiPhone = navigator.userAgent.match(/iPhone/i) != null;
- var isiPod = navigator.userAgent.match(/iPod/i) != null;
- if (isiPad || isiPhone || isiPod) useMobileDrag = true;
- /**/
- var isDragging = false;
- var OnDrag = false;
- var originalX;
- var currentX;
- var dragLengthX;
- function dragStart(event) {
- OnDrag = true;
- dragLengthX = 0;
- isDragging = true;
- originalX = (useMobileDrag ? event.targetTouches[0].pageX : event.pageX);
- return false
- };
- function dragMove(event) {
- if (OnDrag){
- currentX = (useMobileDrag ? event.targetTouches[0].pageX : event.pageX);
- dragLengthX = currentX - originalX;
- if (Math.abs(dragLengthX)<2) {
- return false
- }
- else{
- box.css({
- '-webkit-transition-timing-function': settings.easingCss,
- '-webkit-transition-duration': 0 + 'ms',
- '-webkit-transform': 'translate3d(' + dragLengthX + 'px, 0px, 0px)',
- 'transition-timing-function': settings.easingCss,
- 'transition-duration': 0 + 'ms',
- 'transform': 'translate3d(' + dragLengthX + 'px, 0px, 0px)'
- });
- }
- }
- return false
- };
- function dragCancel(){console.log("canseling swipe")}
- function dragEnd(){
- OnDrag = false;
- wrapperHalfWidth = box.parent().width() * settings.animPartofScrennToSlide
- if (Math.abs(dragLengthX) > wrapperHalfWidth ){
- this.removeEventListener((useMobileDrag ? "touchstart" : "mousedown"), dragStart, false);
- this.removeEventListener((useMobileDrag ? "touchmove" : "mousemove"), dragMove, false);
- this.removeEventListener((useMobileDrag ? "touchend" : "mouseup"), dragEnd, false);
- this.removeEventListener("touchcancel", dragCancel, false);
- var Direction = dragLengthX > 0;
- settings.prevNextClickCallback(outerSlCounter, Direction ? FORWARD : BACK);
- setTimeout(function(){
- this.addEventListener((useMobileDrag ? "touchstart" : "mousedown"), dragStart, false);
- this.addEventListener((useMobileDrag ? "touchmove" : "mousemove"), dragMove, false);
- this.addEventListener((useMobileDrag ? "touchend" : "mouseup"), dragEnd, false);
- this.addEventListener("touchcancel", dragCancel, false);
- }, 500);
- return SlideTo(outerSlCounter + (Direction ? -1 : 1));
- }
- else{
- dragLengthX = 0;
- box.css({
- '-webkit-transition-timing-function': settings.easingCss,
- '-webkit-transition-duration': settings.animDragTime + 'ms',
- '-webkit-transform': 'translate3d(' + dragLengthX + 'px, 0px, 0px)',
- 'transition-timing-function': settings.easingCss,
- 'transition-duration': settings.animDragTime + 'ms',
- 'transform': 'translate3d(' + dragLengthX + 'px, 0px, 0px)'
- });
- }
- isDragging = false;
- originalX = 0;
- };
- this.addEventListener((useMobileDrag ? "touchstart" : "mousedown"), dragStart, false);
- this.addEventListener((useMobileDrag ? "touchmove" : "mousemove"), dragMove, false);
- this.addEventListener((useMobileDrag ? "touchend" : "mouseup"), dragEnd, false);
- this.addEventListener("touchcancel", dragCancel, false);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement