diff --git a/sites/all/themes/gui/jee/js/jee.js b/sites/all/themes/gui/jee/js/jee.js index 065c79b..d082314 100755 --- a/sites/all/themes/gui/jee/js/jee.js +++ b/sites/all/themes/gui/jee/js/jee.js @@ -33,7 +33,8 @@ jQuery(document).ready(function($) { _mouse_down_pos = {x:0,y:0}, _prev_mouse_pos = {x:0,y:0}, _fps = 1000/12, - _dragging = false, _timeout_dragging; + _dragging = false, _timeout_dragging, + _previewed_chapter = false; var _$chapter_wrapper = $('
').attr('id', 'chapter-wrapper').appendTo(_$container), _loaded_chapter = false; @@ -138,43 +139,30 @@ jQuery(document).ready(function($) { | | | __|__ | -| | | | | | __| | __| | | __| | | | | | |__ | |____/|_____|_____|__|__| |_| |_____|__| |_____|\___/|_____|_|___| |_| |_____| */ - .bind('mousedown', function(e){ + .on('mousemove', function(e){ console.log('document mousedown'); clearTimeout(_timeout_dragging); - if(_loaded_chapter || _loaded_static) + if(_previewed_chapter || _loaded_chapter || _loaded_static) return false; - // set initial cursor pos - _mouse_down_pos.x = e.clientX; - _mouse_down_pos.y = e.clientY; - updateNavPos(e.clientX, e.clientY, true); - - $(this).bind('mousemove', function(e){ - console.log('document mousemove'); - updateNavPos(e.clientX, e.clientY, false); - }); - // activate dragging if already activated if(!_dragging){ _dragging = true; + startMoveNav(); + }else{ + updateNavPos(e.clientX, e.clientY, false, false); } }) - .bind('mouseup', function(e){ + .on('mouseup', function(e){ console.log('document mouseup'); if(_loaded_chapter || _loaded_static) return false; - stopMoveNav(); - $(this).unbind('mousemove'); - - // close all preview - if(Math.abs(e.clientX - _mouse_down_pos.x) < 2 - && Math.abs(e.clientY - _mouse_down_pos.y) < 2) - for (var i = _chapitres_len - 1; i >= 0; i--) - _chapters[i].closePreview().unMitigate(); + for (var i = _chapitres_len - 1; i >= 0; i--) + _chapters[i].closePreview().unMitigate(); }) /* _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ @@ -182,7 +170,7 @@ jQuery(document).ready(function($) { | | | | | | | --| | | __| | | __| | | | | | |__ | |_| |_____|_____|_____|__|__| |_____|\___/|_____|_|___| |_| |_____| */ - .bind('document touchstart', function(e){ + .on('document touchstart', function(e){ console.log('touchstart'); clearTimeout(_timeout_dragging); @@ -190,7 +178,7 @@ jQuery(document).ready(function($) { return false; // set initial pos - updateNavPos(e.originalEvent.touches[0].clientX, e.originalEvent.touches[0].clientY, true); + updateNavPos(e.originalEvent.touches[0].clientX, e.originalEvent.touches[0].clientY, true, true); // activate dragging if already activated if(!_dragging){ @@ -198,15 +186,15 @@ jQuery(document).ready(function($) { startMoveNav(); } }) - .bind('touchmove', function(e){ + .on('touchmove', function(e){ console.log('document touchmove'); if(_loaded_chapter || _loaded_static) return false; - updateNavPos(e.originalEvent.touches[0].clientX, e.originalEvent.touches[0].clientY, false); + updateNavPos(e.originalEvent.touches[0].clientX, e.originalEvent.touches[0].clientY, true, false); }) - .bind('touchend', function(e){ + .on('touchend', function(e){ console.log("document touchend"); if(_loaded_chapter || _loaded_static) @@ -218,25 +206,31 @@ jQuery(document).ready(function($) { // TODO : nav on scroll events }; - function updateNavPos(x,y,init){ - if(!init){ - _nav_pos.x += x - _prev_mouse_pos.x; - _nav_pos.y += y - _prev_mouse_pos.y; - // constrain nav pos on container - _nav_pos.x = _nav_pos.x < -_center.x*2 - ? -_center.x*2 - : _nav_pos.x > _center.x*2 - ? _center.x*2 - : _nav_pos.x; - _nav_pos.y = _nav_pos.y < -_center.y*2 - ? -_center.y*2 - : _nav_pos.y > _center.y*2 - ? _center.y*2 - : _nav_pos.y; + function updateNavPos(x,y,touch,init){ + if(touch){ + if(!init){ + _nav_pos.x += x - _prev_mouse_pos.x; + _nav_pos.y += y - _prev_mouse_pos.y; + + // constrain nav pos on container + _nav_pos.x = _nav_pos.x < -_center.x*2 + ? -_center.x*2 + : _nav_pos.x > _center.x*2 + ? _center.x*2 + : _nav_pos.x; + _nav_pos.y = _nav_pos.y < -_center.y*2 + ? -_center.y*2 + : _nav_pos.y > _center.y*2 + ? _center.y*2 + : _nav_pos.y; + } + }else{ + _nav_pos.x = (_center.x -x)*0.5; + _nav_pos.y = (_center.y -y)*0.5; } + _prev_mouse_pos.x = x; _prev_mouse_pos.y = y; - // debuging cursor if(_debug) moveDebugCursor(); @@ -292,9 +286,9 @@ jQuery(document).ready(function($) { _prev_mouse_pos.y = _nav_pos.y; // calculate the second pos of faked mousemove - var xl = _center.x - chapter.pos.x - chapter.geom.w/2; - var yl = 100 - chapter.pos.y; - updateNavPos(xl, yl, false); + _nav_pos.x = - (chapter.pos.x - _center.x) - chapter.geom.w/2; + _nav_pos.y = 100 - chapter.pos.y; + startMoveNav(); stopMoveNav(); }; @@ -412,7 +406,7 @@ jQuery(document).ready(function($) { this.setInitPos(); this.drawLines(); this.setEvents(); - this.initDrifiting(); + // this.initDrifiting(); // enable nodes after intro anime setTimeout( @@ -536,6 +530,8 @@ jQuery(document).ready(function($) { // don't relaunch preview more that one time if(this.is_previewed) return; + _previewed_chapter = this; + console.log('preview', this.i); this.unMitigate(); @@ -603,6 +599,7 @@ jQuery(document).ready(function($) { .css({transform:"none"}); requestAnimationFrame(this.animeLines.bind(this)); this.is_previewed = false; + _previewed_chapter = false; return this; };