2015-12-31 5 views
0

У меня есть код, который позволяет мне прокручивать страницу. Проблема в том, что один из моих классов создает восходящую прокрутку, но затем, когда я вручную пытаюсь прокрутить страницу вниз, она прокручивается несколько раз! Это распространено? Как это исправить?Прокрутка становится рывкой

отрывок из моего кода PHP

$links .= '<a href="#!" class="sidenav-link" default-rel="'.$default_rel.'" rel="'.$rel.'"><i class="fa fa-'.$new_v['icon'].'"></i> '.$new_v['subheader_name'].'</a>'; 

А вот моя функция JQuery, которая получает содержание от страницы

function toggleContent(selector, event) 
{ 
    var queryString = createQueryString(selector); 

    $.ajax({ 
     url: 'ajaxLoad.php?'+queryString, 
     method: 'GET', 
     success: function(response) { 

      $("#page-wrapper .container-fluid").html(response.html); 
      eval($(response.js).text()); 

      //optional msg 
      var information = $(selector).attr("information"); 
      var danger = $(selector).attr("danger"); 
      if (!information == "") 
      { 
       displayInformation(information); 
      } 
      if (!danger == "") 
      { 
       displayDanger(danger); 
      } 
      //reset msg 
      $(selector).attr("information",""); 
      $(selector).attr("danger",""); 

      // run specific code 
      if (typeof runSpecific == 'function') 
      { 
       runSpecific(selector, event); 
      } 

      // scroll up 
      $(".btn, .list-group-item, .sidenav-link").on("click",function(){ 
       $("html, body").animate({ scrollTop: 0}, 300);            
      }); 
     } 
    }); 

    // reset rel 
    $(selector).attr('rel', $(selector).attr('default-rel')); 
} 

Обратите внимание, что .btn и .list-группы вещь не создает эта проблема, только .sidenav-link.

+0

Кто-нибудь? я действительно не могу это сделать –

+0

, потому что у меня слишком много рекурсий, но я понятия не имею, как это решить. проблема в том, что каждый раз, когда я нажимаю на .sidenav-link, количество анимационных событий возрастает экспоненциально. любая идея, как это решить? –

ответ

0

Хорошо, отлично, я нашел решение, которое отлично работает. Все, что мне нужно было сделать, это добавить функцию stop() перед функцией animate()!

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