2017-02-15 8 views
0

У меня есть сайт с одной страницей, который разделен на две части на горизонтальном мобильном представлении. Поэтому я пытаюсь создать эффект прокрутки/прокрутки вверх или вниз по странице. Я попробовал этот код обнаруженияГладкая прокрутка вверх или снизу страницы с javascript, jQuery на мобильном телефоне

var bottomofDoc = $(".main_container").height(); 
$(window).scroll(function(){ 
     var cur_top = $(window).scrollTop(); 
     if(top < cur_top){ 
      direction = 'down'; 
      $('html,body').animate({scrollTop: $(document).height()}, 600); 
      console.log(direction); 
     }else{ 
      direction = 'up'; 
      $("html, body").animate({ scrollTop: 0 }, 600); 
      console.log(direction); 
     } 
     top = cur_top; 
    }); 

Но это работает багги, с мерцанием и когда я прокручивать, как только это продолжать делать действиям во много раз. Любые идеи, как для того чтобы достигнуть гладкой прокрутки в верхней или нижней части

+0

1. http://ejohn.org/blog/learning-from-twitter/ 2. Вы, вероятно, хотите, чтобы ввести флаг и/или таймер для не делать больше анимированных вызовов, пока все еще работает. – CBroe

+0

Я пробовал, но это не помогло @CBroe –

+0

Ну, мы не можем вам помочь, если это все, что вы нам даете. _Show_ нас, что вы пробовали, и с какими результатами. – CBroe

ответ

0
$(function(){ 
    $('a[href*="#"]:not([href="#"])').click(function(){ 
      if(location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '') && location.hostname == this.hostname){ 
       var target = $(this.hash); 
       target = target.length ? target:$('[name=' + this.hash.slice(1) + ']'); 
       if(target.length){ 
        $('html, body').animate({ 
         scrollTop: target.offset().top 
        }, 1000); 
        return false; 
       } 
      } 
    }); 
}); 
+0

У меня нет клика @ Brachu19 –

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