2014-11-02 3 views
3

я использую JQuery scrolltop функции в этом меню: http://goethesternfriseure.de/index.phpJQuery scrolltop - не работает после первого использования

проблема в том, что функция прокрутки работает только в первый раз. после второго щелчка по ссылке, он прокручивается до самого низа.

$('.sectionlink').click(function(e){ 
      var sectionelement = $(this).attr("rel"); 
      var myoffset = $('#'+sectionelement).offset().top; 
      $('html, body').animate({ 
       scrollTop: myoffset 
      }, 800); 

      e.preventDefault(); 
     }); 

Кто-нибудь знает, что там происходит?

+0

Какой элемент имеет вопрос? Я тестировал его в Internet Explorer 11 (Modern), и он работает нормально. Он всегда прокручивается до той же позиции. –

+0

Если после загрузки страницы вы вручную прокрутите страницу вниз, а затем воспользуйтесь меню, оно будет перемещено с первой попытки. Я думаю, что элемент, исчезающий (черный логотип, может быть?) Может вызвать смещение. –

ответ

1

колесика сверху не работает потому что вы должны добавить «точек»:

$('.sectionlink').click(function(e){ 
      var sectionelement = $(this).attr("rel"); 
      var myoffset = $('#'+sectionelement).offset().top; 
      $('html, body').animate({ 
       scrollTop: myoffset+"px" 
      }, 800); 

      e.preventDefault(); 
     }); 
+0

Я добавил «px», а также минус 170px в позицию смещения, но также были разными между первым щелчком на каждом элементе меню и вторым щелчком на нем. Но потом я нашел этот вопрос: каждая секция имела <= класс «Раздел 5» = «раздел» ДИВ идентификационные данные-ик-scrollspy = «{ЦБС:„PL7 рентабельностью-топ“}»> это scrollspy была проблема. не знаю почему, но теперь его работа .. –

+0

Спасибо Prolly и Arturo! –

Смежные вопросы