Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 22.07.2014, 18:40
Аспирант
Отправить личное сообщение для diakon Посмотреть профиль Найти все сообщения от diakon
 
Регистрация: 28.09.2009
Сообщений: 49

Переход к якорю
Добрый день. Делаю переход к якорю при клике на область с ссылкой. Но при клике выдается ошибка

TypeError: $(...).offset(...) is undefined
destination = $(target).offset().top;

И переход не происходит. Вот код
$(".yakor").click(function(){
		var target = $(this).find("a").attr("href");
		destination = $(target).offset().top;
		if($.browser.safari){
		$('body').animate( { scrollTop: destination }, 1100 );
		}else{
		$('html').animate( { scrollTop: destination }, 1100 );
		}
		return false;
	});


<li class="yakor">
<a href="#tren">Тринажеры</a>
</li>

....

<p>
<a name="tren"></a>
Тренажеры
</p>


Заранее спасибо всем, кто поможет!
Ответить с цитированием
  #2 (permalink)  
Старый 22.07.2014, 19:34
Новичок на форуме
Отправить личное сообщение для Татьяна5 Посмотреть профиль Найти все сообщения от Татьяна5
 
Регистрация: 22.07.2014
Сообщений: 7

target равен #tren
$('#tren') - это обращение по id, а не по name
Ответить с цитированием
  #3 (permalink)  
Старый 22.07.2014, 21:24
Аватар для BETEPAH
Профессор
Отправить личное сообщение для BETEPAH Посмотреть профиль Найти все сообщения от BETEPAH
 
Регистрация: 23.06.2011
Сообщений: 1,165

diakon,
проверьте в начале скрипта что возвращает $(this).find("a")
Ответить с цитированием
  #4 (permalink)  
Старый 22.07.2014, 21:39
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 31,984

Сообщение от Татьяна5
$('#tren') - это обращение по id, а не по name

<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
  body  {
     height: 1000px

  }
  </style>
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
  <script>
     $(function(){
      $(".yakor").click(function(){
		var target = "[name='"+$(this).find("a").attr("href").substr(1)+"']",
		destination = $(target).offset().top;
		$('body, html').animate( { scrollTop: destination }, 1100 );
		return false;
	});

});
  </script>
</head>

<body>
<li class="yakor">
<a href="#tren">Тринажеры</a>
</li>

....

<p>
<a name="tren"></a>
Тренажеры
</p>

</body>

</html>
Ответить с цитированием
  #5 (permalink)  
Старый 22.07.2014, 22:24
Аспирант
Отправить личное сообщение для diakon Посмотреть профиль Найти все сообщения от diakon
 
Регистрация: 28.09.2009
Сообщений: 49

Рони, спасибо! +от меня
Проблема не в # - я replace удалил его и не заработало. Но код, Рони работает.
Спасибо всем, кто решил помочь!
Ответить с цитированием
  #6 (permalink)  
Старый 22.07.2014, 22:34
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 31,984

diakon,
$.browser.safari -- такого давно нет в jquery
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перехват перехода по якорю InviS jQuery 25 10.07.2014 23:02
переход к якорю imediasun1 Элементы интерфейса 1 18.12.2013 20:23
Переход по ссылке к якорю на другой странице tvixa Элементы интерфейса 10 01.10.2013 08:19
JS и getURL плавный переход к anchor Blizzart Общие вопросы Javascript 4 16.01.2011 16:48
Переход по якорю в ИЕ Ozzy Internet Explorer 0 02.07.2009 10:35