Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 21.09.2011, 09:54
Аспирант
Отправить личное сообщение для Ultimatum Посмотреть профиль Найти все сообщения от Ultimatum
 
Регистрация: 18.06.2010
Сообщений: 63

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

Я парсю хэш, а потом по таймауту, пытаюсь отправить в jquery.

но как это привязать скажем сюда, что-то ума не приложу.

$(function() {
   $('ul.nav a').bind('click',function(event){
      var $anchor = $(this);
      /*
      Если вы хотите использовать один из эффектов замедляющих анимацию:
      $('html, body').stop().animate({
      scrollLeft: $($anchor.attr('href')).offset().left
      }, 1500,'easeInOutExpo');
      */
      $('html, body').stop().animate({
         scrollLeft: $($anchor.attr('href')).offset().left
      }, 1000);
      event.preventDefault();
   });
});


Здесь идет по клику, но мне само событие не нужно.
Ответить с цитированием
  #2 (permalink)  
Старый 21.09.2011, 10:02
Аспирант
Отправить личное сообщение для Ultimatum Посмотреть профиль Найти все сообщения от Ultimatum
 
Регистрация: 18.06.2010
Сообщений: 63

есть скажем div c Id="zt-component" до которого как раз мне и надо прокрутить страницу. Я делаю примерно так после загрузки body

var $anchor = document.getElementById('zt-component');
					      /*
					      Если вы хотите использовать один из эффектов замедляющих анимацию:
					      $('html, body').stop().animate({
					      scrollLeft: $($anchor.attr('href')).offset().left
					      }, 1500,'easeInOutExpo');
					      */
					      $('html, body').stop().animate({
					         scrollLeft: $($anchor.attr('href')).offset().left
					      }, 1000);
					      event.preventDefault()

На что мне фаербаг ругается

$anchor.attr is not a function
Ответить с цитированием
  #3 (permalink)  
Старый 21.09.2011, 18:56
Кандидат Javascript-наук
Отправить личное сообщение для Nightmare Посмотреть профиль Найти все сообщения от Nightmare
 
Регистрация: 16.04.2010
Сообщений: 133

var self = this;
...
scrollLeft: $(self).attr('href').offset().left
//
scrollLeft: this.href.offset().left
Ответить с цитированием
  #4 (permalink)  
Старый 22.09.2011, 11:20
Аспирант
Отправить личное сообщение для Ultimatum Посмотреть профиль Найти все сообщения от Ultimatum
 
Регистрация: 18.06.2010
Сообщений: 63

почитал про this и всё ровно не могу понять как к нему привязать div
скажем если у меня прокрутка будет идти не до анкора а до дива.

document.getElementById('zt-mainbody')



скажем до

<div id="zt-mainbody"> </div>
Ответить с цитированием
  #5 (permalink)  
Старый 22.09.2011, 12:53
Аспирант
Отправить личное сообщение для Ultimatum Посмотреть профиль Найти все сообщения от Ultimatum
 
Регистрация: 18.06.2010
Сообщений: 63

Проблему скролинга вниз решил так

function scrolling_list()  {
			newString = document.location.hash.replace(/#/,'');
			 if(newString !==''){
			// newString
			setTimeout( function() {     
				$('html,body').animate({
				       scrollTop: $('#zt-mainbody').offset().top}, 2000); 
			 } , 300); 
			 } 
			};


То есть если есть некий хэш, значит скролим вниз до дива.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Плавный скроллинг kromol Элементы интерфейса 3 30.07.2011 13:40
Как сделать плавный переход к элементу на сайте ? dimaan777 jQuery 2 03.05.2011 17:45
Плавный переход по страницам cyberx Общие вопросы Javascript 118 05.03.2011 13:57
Плавный скролл колёсиком Alerto Элементы интерфейса 5 27.08.2009 11:46
Определить есть ли скролинг на странице zaka29 Events/DOM/Window 4 26.06.2009 00:26