Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 10.01.2014, 13:34
Новичок на форуме
Отправить личное сообщение для Melistraza Посмотреть профиль Найти все сообщения от Melistraza
 
Регистрация: 04.04.2013
Сообщений: 7

Прокрутка к якорям
Вообщем есть задание сделать плавную прокрутку к якорям на странице.
В качестве примера как должно быть дали http://sloboda-studio.com/
Элементы использующиеся для работы
Код:
<a href="#razdel1">К разделу 1</a>
<a name="razdel1"></a>
Использовал множество вариантов кода, остановился на
Код:
$(document).ready(function(){
     $('a[href^="#"]').click(function(){
          var target = $(this).attr('href');
          $('html, body').animate({scrollTop: $(target).offset().top}, 300);
          return false;
     });
});
Но при этом всегда вылетает
Код:
Uncaught TypeError: Cannot read property 'top' of undefined
(anonymous function)
st.event.dispatch       jquery-1.9.0.min.js:2
y.handle                    jquery-1.9.0.min.js:2
подскажите что исправить, или как сделать по другому, библиотека ScrollTo тоже не хочет работать!

Последний раз редактировалось Melistraza, 10.01.2014 в 13:56.
Ответить с цитированием
  #2 (permalink)  
Старый 10.01.2014, 14:13
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

Когда-то такую ф-цию писал:

function $S(a, b)
{
	var c = $('html, body'), d = $(a);
	if(!d.length) return;
	if(b) c.scrollTop(0);
	c.animate({scrollTop: d.offset().top + 'px'}, 500);
}

$S('#content'); //Прокручиваем к блоку #content
$S('#content', true); //Прокручиваем к блоку #content от начала страницы


В Вашем случае так:

$(document).on('click', 'a[href^="#"]', function() {
	$S(this.href);
	return false;
});
Ответить с цитированием
  #3 (permalink)  
Старый 10.01.2014, 14:46
Новичок на форуме
Отправить личное сообщение для Melistraza Посмотреть профиль Найти все сообщения от Melistraza
 
Регистрация: 04.04.2013
Сообщений: 7

Что-то у вас тут мутно и не понятно
Код:
$S('#content'); //Прокручиваем к блоку #content
10
$S('#content', true); //Прокручиваем к блоку #content от начала страницы
что куда прикручивать ?

да и проблема ошибки
Uncaught TypeError: Cannot read property 'top' of undefined
не решена
Ответить с цитированием
  #4 (permalink)  
Старый 10.01.2014, 15:42
Новичок на форуме
Отправить личное сообщение для Melistraza Посмотреть профиль Найти все сообщения от Melistraza
 
Регистрация: 04.04.2013
Сообщений: 7

Всё равно натыкаюсь на одну и туже ошибку
Код:
Uncaught TypeError: Cannot read property 'top' of undefined
Использую jQ 1.9.0.min
Ответить с цитированием
  #5 (permalink)  
Старый 10.01.2014, 15:44
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

Melistraza, вообще, Ваш код по идее должен работать, попробуйте поставить более ранюю версию jQuery.
Ответить с цитированием
  #6 (permalink)  
Старый 10.01.2014, 15:49
Аватар для Vlasenko Fedor
Профессор
Отправить личное сообщение для Vlasenko Fedor Посмотреть профиль Найти все сообщения от Vlasenko Fedor
 
Регистрация: 13.03.2013
Сообщений: 1,572

Сообщение от Melistraza
Всё равно натыкаюсь на одну и туже ошибку
Точно, не тот код показал
jQuery(document).ready(function($){
   $(this).on('click', 'a[href^=#]', function () {
        $('html, body').animate({ scrollTop:  $('a[name="'+this.hash.slice(1)+'"]').offset().top }, 1000 ); 
        return false;
    });
});

http://fiddle.jshell.net/vlasenkofedor/2St2g/
Ответить с цитированием
  #7 (permalink)  
Старый 10.01.2014, 15:49
Новичок на форуме
Отправить личное сообщение для Melistraza Посмотреть профиль Найти все сообщения от Melistraza
 
Регистрация: 04.04.2013
Сообщений: 7

Попробовал 1.7.2 и 2.0.2 проблема осталась!
Ответить с цитированием
  #8 (permalink)  
Старый 10.01.2014, 15:51
Новичок на форуме
Отправить личное сообщение для Melistraza Посмотреть профиль Найти все сообщения от Melistraza
 
Регистрация: 04.04.2013
Сообщений: 7

Poznakomlus
Спасибо огромное работает как нужно!
Несколько недель не могу решить задачу откладывал )
Ответить с цитированием
  #9 (permalink)  
Старый 10.01.2014, 15:56
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

http://learn.javascript.ru/play/P1N1p
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужна прокрутка логотипов Shevtcoff Элементы интерфейса 3 07.10.2013 14:55
Горизонтальная прокрутка daMage (X)HTML/CSS 6 12.02.2012 15:28
Прокрутка баннеров по времени TTongorovortoto Работа 3 22.04.2011 13:35
прокрутка изображений RGun jQuery 3 08.03.2010 10:03
Нужно изменить направление JS (прокрутка текста) Axel Общие вопросы Javascript 2 18.04.2009 23:34