2014-01-29 2 views
1

У меня есть фрагмент кода, когда страница загружена, она прокручивается автоматически до последнего элемента:Прокрутка вверх веб-страница, когда конкретный элемент, если достигнут

<!DOCTYPE html> 
<html> 
<head> 
    <title>...</title> 
    <script src="jquery-2.1.0.js"></script> 
    <script src="jquery.scrollTo-1.4.3.1.js"></script> 
</head> 
<body> 


    <h1 id="begin">Begin</h1> 
    ... 
    <h1 id="end">End</h1> 

    <script> 
     $(window).load(function() { 
      $('body').scrollTo('#end', {duration:5000}); 
     }) 
    </script> 

</body> 
</html> 

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

Так вот два вопроса:

  1. Как сделать окно прокручивается вверх, когда конец достигается?
  2. Как проверить, существует ли конкретный идентификатор элемента и остановить цикл?
+0

В каком сценарии вы выполняете метод scrollTo(), например, нажав любую кнопку. И вы сказали: «Он достигает конечного элемента». Что это значит и как вы встречаете конечный элемент, прокручивая страницу? – user2587222

+0

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

+0

Кажется, что на некоторых веб-страницах мы прокручиваем полностью в конце того, что у нас есть опция «Top». Если вы нажмете кнопку, она переместится вверх страницы. Я прав? – user2587222

ответ

1

Эта функция будет работать

$('.go-top').click(function (e) { 
    e.preventDefault(); 
    $('html,body').animate({     
     scrollTop:$("YourID").offset().top + 'px' 
      }, 'slow');}); 
1

Для перехода в частности элемент, имеющий someID:

$('html, body').animate({ 
    scrollTop: $("#someID").offset().top 
}, 2000); 

И, чтобы перейти к началу страницы:

$('html, body').animate({scrollTop: '0px'}, 300); 

Чтобы проверить, если элемент виден после прокрутки:

+0

Мне нужно прокрутить к someID только тогда, когда достигнут myCurrentID. Или, другими словами, я хочу прокрутить вниз до ID1, а затем перестал прокручивать переход к ID2 и так далее, пока не будет достигнут ID9. Как я могу это сделать? –

+0

@BranAlgue: Обновлен ответ. вызов 'isScrolledIntoView ($ (" # someID "))' каждый раз на странице. он вернет true, если элемент виден после прокрутки. –

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