]> git.parisson.com Git - mezzo.git/commitdiff
Fix summary scroll spy
authorJérémy Fabre <Jeremy@iMac-de-Jeremy.local>
Wed, 26 Oct 2016 13:54:18 +0000 (15:54 +0200)
committerJérémy Fabre <Jeremy@iMac-de-Jeremy.local>
Wed, 26 Oct 2016 13:54:18 +0000 (15:54 +0200)
app/static/src/js/modules/summary.js
app/templates/includes/footer_scripts.html
bower.json

index 41a555d78c5af5abf749cba05fa795a3519ca707..9db79ef8576c37c7f9d3723660213cc64e6563ca 100644 (file)
@@ -37,6 +37,27 @@ Summary.prototype.init = function() {
                 $element.attr('id', "section-" + sectionCount);
                 sectionCount++;
 
+                $element.waypoint(function(direction) {
+                    that.$links.forEach(function (elem) {
+                        elem.removeClass('active');
+                    });
+                    $('[href="#' + $(this.element).attr('id') + '"]').addClass('active');
+                }, {
+                    offset: '200'
+                });
+
+                $element.waypoint(function(direction) {
+                    that.$links.forEach(function (elem) {
+                        elem.removeClass('active');
+                    });
+                    var sectionNumber = parseInt($(this.element).attr('id').substr(8));
+                    sectionNumber--;
+                    console.log(sectionNumber);
+                    $('[href="#section-' + sectionNumber + '"]').addClass('active');
+                }, {
+                    offset: '50%'
+                });
+
             });
 
         });
@@ -44,7 +65,7 @@ Summary.prototype.init = function() {
         $template.remove();
 
         // Scrollspy
-        $(document).on("scroll", that.onScroll.bind(that));
+        //$(document).on("scroll", that.onScroll.bind(that));
 
         // Row height
         if($('.page__sidebar .nav-tree--level-0').height() > $('.page__content').height()) {
@@ -63,13 +84,13 @@ Summary.prototype.onScroll = function(e) {
 
     var scrollPos = $(document).scrollTop(),
         that = this,
-        currentTitle, minDiff = 9999999999999;
+        currentTitle, minDiff = 200;
 
     that.$links.forEach(function (elem) {
         var currLink = elem;
         var refElement = $(elem.attr("href"));
         var diff = refElement.offset().top - scrollPos;
-        if(diff < minDiff && diff 0) {
+        if(diff < minDiff && diff < 200) {
             minDiff = diff;
             currentTitle = refElement;
         }
index f0da2e924eac5b7c533c3e0c68827905f70dcd08..3d8c5818090bc9127bf10a7772932e110aaabb5c 100644 (file)
@@ -12,6 +12,7 @@
     <script src="{% static "vendors/videojs-playlist/dist/videojs-playlist.js" %}"></script>
     <script src="{% static "vendors/audiojs/audiojs/audio.js" %}"></script>
     <script src="{% static "vendors/jquery_lazyload/jquery.lazyload.js" %}"></script>
+    <script src="{% static "vendors/waypoints/lib/jquery.waypoints.js" %}"></script>
     <script src="{% static "js/index.min.js" %}"></script>
 {% block extra_js %}{% endblock %}
 {% editable_loader %}
index 371b542458500d8356ac0e310182e1755ffb7617..70000d744a625e146cd5a8114068fd7716726c4d 100644 (file)
@@ -28,6 +28,7 @@
     "audiojs": "^1.0.1",
     "video.js": "^5.12.5",
     "videojs-playlist": "^2.4.0",
-    "jquery_lazyload": "jquery.lazyload#^1.9.7"
+    "jquery_lazyload": "jquery.lazyload#^1.9.7",
+    "waypoints": "^4.0.1"
   }
 }